esa-cli 0.0.2-beta.10 → 0.0.2-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/commit/index.js +26 -115
- package/dist/commands/commit/prodBuild.js +2 -3
- package/dist/commands/common/routineUtils.js +276 -0
- package/dist/commands/config.js +1 -1
- package/dist/commands/deploy/helper.js +40 -61
- package/dist/commands/deploy/index.js +90 -188
- package/dist/commands/deployments/delete.js +32 -22
- package/dist/commands/deployments/index.js +2 -2
- package/dist/commands/deployments/list.js +22 -38
- package/dist/commands/dev/build.js +3 -3
- package/dist/commands/dev/doProcess.js +5 -5
- package/dist/commands/dev/ew2/cacheService.js +33 -0
- package/dist/commands/dev/ew2/devEntry.js +2 -1
- package/dist/commands/dev/ew2/devPack.js +22 -11
- package/dist/commands/dev/ew2/kvService.js +27 -0
- package/dist/commands/dev/ew2/mock/cache.js +99 -15
- package/dist/commands/dev/ew2/mock/kv.js +142 -21
- package/dist/commands/dev/ew2/server.js +162 -27
- package/dist/commands/dev/index.js +14 -15
- package/dist/commands/dev/mockWorker/devPack.js +16 -7
- package/dist/commands/dev/mockWorker/server.js +7 -6
- package/dist/commands/domain/add.js +2 -2
- package/dist/commands/domain/delete.js +7 -7
- package/dist/commands/domain/index.js +2 -2
- package/dist/commands/domain/list.js +10 -10
- package/dist/commands/init/helper.js +87 -13
- package/dist/commands/init/index.js +461 -57
- package/dist/commands/init/template.jsonc +34 -0
- package/dist/commands/lang.js +2 -2
- package/dist/commands/login/index.js +57 -7
- package/dist/commands/logout.js +5 -5
- package/dist/commands/route/add.js +138 -49
- package/dist/commands/route/delete.js +33 -27
- package/dist/commands/route/helper.js +124 -0
- package/dist/commands/route/index.js +2 -2
- package/dist/commands/route/list.js +56 -17
- package/dist/commands/routine/delete.js +2 -2
- package/dist/commands/routine/index.js +2 -2
- package/dist/commands/routine/list.js +9 -21
- package/dist/commands/site/index.js +1 -1
- package/dist/commands/site/list.js +6 -7
- package/dist/commands/utils.js +55 -19
- package/dist/components/descriptionInput.js +1 -1
- package/dist/components/mutiSelectTable.js +1 -1
- package/dist/components/selectInput.js +2 -3
- package/dist/components/selectItem.js +1 -1
- package/dist/docs/Commands_en.md +25 -15
- package/dist/docs/Commands_zh_CN.md +12 -2
- package/dist/docs/eslint-config-en.md +1 -0
- package/dist/docs/eslint-config.md +73 -0
- package/dist/docs/init-command-quick-test.md +208 -0
- package/dist/docs/init-command-test-guide.md +598 -0
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/locales.json +261 -17
- package/dist/index.js +17 -12
- package/dist/libs/api.js +32 -9
- package/dist/libs/apiService.js +258 -85
- package/dist/libs/git/index.js +8 -4
- package/dist/libs/interface.js +0 -1
- package/dist/libs/logger.js +63 -7
- package/dist/libs/service.js +2 -2
- package/dist/libs/templates/index.js +1 -1
- package/dist/utils/checkAssetsExist.js +80 -0
- package/dist/utils/checkDevPort.js +3 -17
- package/dist/utils/checkEntryFileExist.js +10 -0
- package/dist/utils/checkIsRoutineCreated.js +16 -31
- package/dist/utils/checkVersion.js +1 -1
- package/dist/utils/compress.js +80 -0
- package/dist/utils/download.js +5 -5
- package/dist/utils/fileMd5.js +1 -1
- package/dist/utils/fileUtils/index.js +71 -22
- package/dist/utils/installDeno.js +3 -3
- package/dist/utils/installEw2.js +7 -7
- package/dist/utils/openInBrowser.js +1 -1
- package/package.json +11 -6
|
@@ -0,0 +1,598 @@
|
|
|
1
|
+
# ESA CLI Init 命令自测文档
|
|
2
|
+
|
|
3
|
+
## 概述
|
|
4
|
+
|
|
5
|
+
本文档提供了 ESA CLI `init` 命令的完整自测指南,包括功能测试、边界条件测试和错误处理测试。
|
|
6
|
+
|
|
7
|
+
## 命令功能
|
|
8
|
+
|
|
9
|
+
`init` 命令用于初始化一个新的 EdgeRoutine 项目,主要功能包括:
|
|
10
|
+
|
|
11
|
+
- 选择项目模板
|
|
12
|
+
- 创建项目目录结构
|
|
13
|
+
- 安装依赖包
|
|
14
|
+
- 构建项目(如果存在构建脚本)
|
|
15
|
+
- 初始化 Git 仓库(可选)
|
|
16
|
+
- 自动部署到生产环境(可选)
|
|
17
|
+
|
|
18
|
+
## 测试环境准备
|
|
19
|
+
|
|
20
|
+
### 1. 环境要求
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# 确保已安装 Node.js 和 npm
|
|
24
|
+
node --version
|
|
25
|
+
npm --version
|
|
26
|
+
|
|
27
|
+
# 安装项目依赖
|
|
28
|
+
npm install
|
|
29
|
+
|
|
30
|
+
# 构建项目
|
|
31
|
+
npm run build
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 2. 测试数据准备
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 创建测试目录
|
|
38
|
+
mkdir -p test-init-commands
|
|
39
|
+
cd test-init-commands
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 测试用例
|
|
43
|
+
|
|
44
|
+
### 1. 基础功能测试
|
|
45
|
+
|
|
46
|
+
#### 1.1 交互式初始化(完整流程)
|
|
47
|
+
|
|
48
|
+
**测试目标**: 验证完整的交互式初始化流程
|
|
49
|
+
|
|
50
|
+
**测试步骤**:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# 运行交互式初始化
|
|
54
|
+
esa init
|
|
55
|
+
|
|
56
|
+
# 预期交互流程:
|
|
57
|
+
# 1. 输入项目名称(如:test-project)
|
|
58
|
+
# 2. 选择模板
|
|
59
|
+
# 3. 选择是否初始化 Git(Yes/No)
|
|
60
|
+
# 4. 选择是否部署(Yes/No)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**验证点**:
|
|
64
|
+
|
|
65
|
+
- [ ] 项目目录创建成功
|
|
66
|
+
- [ ] 模板文件正确复制
|
|
67
|
+
- [ ] esa.toml 配置文件生成
|
|
68
|
+
- [ ] 依赖包安装成功
|
|
69
|
+
- [ ] 构建脚本执行(如果存在)
|
|
70
|
+
- [ ] Git 初始化(如果选择)
|
|
71
|
+
- [ ] 部署成功(如果选择)
|
|
72
|
+
|
|
73
|
+
#### 1.2 指定项目名称初始化
|
|
74
|
+
|
|
75
|
+
**测试目标**: 验证通过命令行参数指定项目名称
|
|
76
|
+
|
|
77
|
+
**测试步骤**:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
esa init my-test-project
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**验证点**:
|
|
84
|
+
|
|
85
|
+
- [ ] 项目名称验证通过(小写字母、数字、连字符)
|
|
86
|
+
- [ ] 项目目录以指定名称创建
|
|
87
|
+
- [ ] 跳过项目名称输入提示
|
|
88
|
+
|
|
89
|
+
#### 1.3 指定模板初始化
|
|
90
|
+
|
|
91
|
+
**测试目标**: 验证通过命令行参数指定模板
|
|
92
|
+
|
|
93
|
+
**测试步骤**:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# 查看可用模板
|
|
97
|
+
esa init --help
|
|
98
|
+
|
|
99
|
+
# 使用指定模板初始化
|
|
100
|
+
esa init my-project --template <template-name>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**验证点**:
|
|
104
|
+
|
|
105
|
+
- [ ] 模板存在性验证
|
|
106
|
+
- [ ] 跳过模板选择交互
|
|
107
|
+
- [ ] 使用指定模板创建项目
|
|
108
|
+
|
|
109
|
+
### 2. 命令行选项测试
|
|
110
|
+
|
|
111
|
+
#### 2.1 --yes 选项(自动确认)
|
|
112
|
+
|
|
113
|
+
**测试目标**: 验证 --yes 选项的自动确认功能
|
|
114
|
+
|
|
115
|
+
**测试步骤**:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
esa init --yes
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**验证点**:
|
|
122
|
+
|
|
123
|
+
- [ ] 自动生成项目名称(edge-routine-<timestamp>)
|
|
124
|
+
- [ ] 自动选择第一个可用模板
|
|
125
|
+
- [ ] 自动初始化 Git
|
|
126
|
+
- [ ] 自动部署(如果已登录)
|
|
127
|
+
|
|
128
|
+
#### 2.2 --skip 选项(跳过交互)
|
|
129
|
+
|
|
130
|
+
**测试目标**: 验证 --skip 选项跳过交互功能
|
|
131
|
+
|
|
132
|
+
**测试步骤**:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
esa init --skip
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**验证点**:
|
|
139
|
+
|
|
140
|
+
- [ ] 跳过 Git 初始化交互
|
|
141
|
+
- [ ] 跳过部署交互
|
|
142
|
+
- [ ] 仅创建项目文件结构
|
|
143
|
+
|
|
144
|
+
#### 2.3 --config 选项
|
|
145
|
+
|
|
146
|
+
**测试目标**: 验证 --config 选项生成配置文件
|
|
147
|
+
|
|
148
|
+
**测试步骤**:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
esa init --config
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**验证点**:
|
|
155
|
+
|
|
156
|
+
- [ ] CLI 配置文件生成
|
|
157
|
+
- [ ] 配置文件格式正确
|
|
158
|
+
|
|
159
|
+
### 3. 错误处理测试
|
|
160
|
+
|
|
161
|
+
#### 3.1 项目名称验证
|
|
162
|
+
|
|
163
|
+
**测试目标**: 验证项目名称格式验证
|
|
164
|
+
|
|
165
|
+
**测试步骤**:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# 测试无效项目名称
|
|
169
|
+
esa init A # 大写字母
|
|
170
|
+
esa init 1 # 单个字符
|
|
171
|
+
esa init test_project # 下划线
|
|
172
|
+
esa init test project # 空格
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**验证点**:
|
|
176
|
+
|
|
177
|
+
- [ ] 显示错误信息:项目名称必须至少2个字符,只能包含小写字母、数字和连字符
|
|
178
|
+
- [ ] 命令执行失败
|
|
179
|
+
|
|
180
|
+
#### 3.2 项目目录已存在
|
|
181
|
+
|
|
182
|
+
**测试目标**: 验证项目目录冲突处理
|
|
183
|
+
|
|
184
|
+
**测试步骤**:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# 创建同名目录
|
|
188
|
+
mkdir test-project
|
|
189
|
+
esa init test-project
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**验证点**:
|
|
193
|
+
|
|
194
|
+
- [ ] 显示错误信息:项目已存在
|
|
195
|
+
- [ ] 提供解决建议(重命名、删除、换目录)
|
|
196
|
+
- [ ] 命令执行失败
|
|
197
|
+
|
|
198
|
+
#### 3.3 模板不存在
|
|
199
|
+
|
|
200
|
+
**测试目标**: 验证指定模板不存在时的处理
|
|
201
|
+
|
|
202
|
+
**测试步骤**:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
esa init my-project --template non-existent-template
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**验证点**:
|
|
209
|
+
|
|
210
|
+
- [ ] 显示错误信息:模板未找到
|
|
211
|
+
- [ ] 提示检查模板名称
|
|
212
|
+
- [ ] 命令执行失败
|
|
213
|
+
|
|
214
|
+
#### 3.4 无可用模板
|
|
215
|
+
|
|
216
|
+
**测试目标**: 验证无可用模板时的处理
|
|
217
|
+
|
|
218
|
+
**测试步骤**:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# 模拟无模板环境(需要修改模板配置)
|
|
222
|
+
esa init --yes
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**验证点**:
|
|
226
|
+
|
|
227
|
+
- [ ] 显示错误信息:没有可用的模板
|
|
228
|
+
- [ ] 命令执行失败
|
|
229
|
+
|
|
230
|
+
### 4. 模板更新测试
|
|
231
|
+
|
|
232
|
+
#### 4.1 模板版本检查
|
|
233
|
+
|
|
234
|
+
**测试目标**: 验证模板版本检查和更新功能
|
|
235
|
+
|
|
236
|
+
**测试步骤**:
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
# 模拟模板版本检查
|
|
240
|
+
esa init
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**验证点**:
|
|
244
|
+
|
|
245
|
+
- [ ] 检查当前模板版本
|
|
246
|
+
- [ ] 检查最新模板版本
|
|
247
|
+
- [ ] 提示是否更新(如果版本不同)
|
|
248
|
+
|
|
249
|
+
#### 4.2 模板自动更新
|
|
250
|
+
|
|
251
|
+
**测试目标**: 验证模板自动更新功能
|
|
252
|
+
|
|
253
|
+
**测试步骤**:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# 在版本检查提示时选择更新
|
|
257
|
+
esa init
|
|
258
|
+
# 选择 "Yes" 更新模板
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**验证点**:
|
|
262
|
+
|
|
263
|
+
- [ ] 删除旧版本模板
|
|
264
|
+
- [ ] 下载最新版本模板
|
|
265
|
+
- [ ] 更新成功提示
|
|
266
|
+
|
|
267
|
+
### 5. 依赖管理测试
|
|
268
|
+
|
|
269
|
+
#### 5.1 依赖安装
|
|
270
|
+
|
|
271
|
+
**测试目标**: 验证项目依赖自动安装
|
|
272
|
+
|
|
273
|
+
**测试步骤**:
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
esa init test-project
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**验证点**:
|
|
280
|
+
|
|
281
|
+
- [ ] 检测 package.json 文件
|
|
282
|
+
- [ ] 执行 npm install
|
|
283
|
+
- [ ] 安装成功提示
|
|
284
|
+
|
|
285
|
+
#### 5.2 构建脚本执行
|
|
286
|
+
|
|
287
|
+
**测试目标**: 验证构建脚本自动执行
|
|
288
|
+
|
|
289
|
+
**测试步骤**:
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# 使用包含构建脚本的模板
|
|
293
|
+
esa init test-project --template <template-with-build>
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
**验证点**:
|
|
297
|
+
|
|
298
|
+
- [ ] 检测构建脚本
|
|
299
|
+
- [ ] 执行 npm run build
|
|
300
|
+
- [ ] 构建成功提示
|
|
301
|
+
|
|
302
|
+
#### 5.3 无构建脚本处理
|
|
303
|
+
|
|
304
|
+
**测试目标**: 验证无构建脚本时的处理
|
|
305
|
+
|
|
306
|
+
**测试步骤**:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# 使用不包含构建脚本的模板
|
|
310
|
+
esa init test-project --template <template-without-build>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**验证点**:
|
|
314
|
+
|
|
315
|
+
- [ ] 检测无构建脚本
|
|
316
|
+
- [ ] 跳过构建步骤提示
|
|
317
|
+
|
|
318
|
+
### 6. Git 集成测试
|
|
319
|
+
|
|
320
|
+
#### 6.1 Git 初始化
|
|
321
|
+
|
|
322
|
+
**测试目标**: 验证 Git 仓库初始化
|
|
323
|
+
|
|
324
|
+
**测试步骤**:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
esa init test-project
|
|
328
|
+
# 选择 "Yes" 初始化 Git
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**验证点**:
|
|
332
|
+
|
|
333
|
+
- [ ] 创建 .git 目录
|
|
334
|
+
- [ ] 初始化 Git 仓库
|
|
335
|
+
- [ ] 成功提示
|
|
336
|
+
|
|
337
|
+
#### 6.2 跳过 Git 初始化
|
|
338
|
+
|
|
339
|
+
**测试目标**: 验证跳过 Git 初始化
|
|
340
|
+
|
|
341
|
+
**测试步骤**:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
esa init test-project
|
|
345
|
+
# 选择 "No" 跳过 Git
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**验证点**:
|
|
349
|
+
|
|
350
|
+
- [ ] 不创建 .git 目录
|
|
351
|
+
- [ ] 显示跳过提示
|
|
352
|
+
|
|
353
|
+
### 7. 部署功能测试
|
|
354
|
+
|
|
355
|
+
#### 7.1 自动部署(已登录)
|
|
356
|
+
|
|
357
|
+
**测试目标**: 验证已登录状态下的自动部署
|
|
358
|
+
|
|
359
|
+
**前置条件**: 已登录 ESA 服务
|
|
360
|
+
|
|
361
|
+
**测试步骤**:
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
esa init test-project
|
|
365
|
+
# 选择 "Yes" 部署
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
**验证点**:
|
|
369
|
+
|
|
370
|
+
- [ ] 检查登录状态
|
|
371
|
+
- [ ] 创建或更新函数
|
|
372
|
+
- [ ] 快速部署成功
|
|
373
|
+
- [ ] 显示访问 URL
|
|
374
|
+
- [ ] 显示域名生效提示
|
|
375
|
+
|
|
376
|
+
#### 7.2 自动部署(未登录)
|
|
377
|
+
|
|
378
|
+
**测试目标**: 验证未登录状态下的部署处理
|
|
379
|
+
|
|
380
|
+
**前置条件**: 未登录 ESA 服务
|
|
381
|
+
|
|
382
|
+
**测试步骤**:
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
esa init test-project
|
|
386
|
+
# 选择 "Yes" 部署
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
**验证点**:
|
|
390
|
+
|
|
391
|
+
- [ ] 检查登录状态
|
|
392
|
+
- [ ] 显示未登录警告
|
|
393
|
+
- [ ] 提示稍后手动部署
|
|
394
|
+
|
|
395
|
+
#### 7.3 跳过部署
|
|
396
|
+
|
|
397
|
+
**测试目标**: 验证跳过部署选项
|
|
398
|
+
|
|
399
|
+
**测试步骤**:
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
esa init test-project
|
|
403
|
+
# 选择 "No" 跳过部署
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**验证点**:
|
|
407
|
+
|
|
408
|
+
- [ ] 不执行部署流程
|
|
409
|
+
- [ ] 显示后续部署指导
|
|
410
|
+
|
|
411
|
+
### 8. 多语言支持测试
|
|
412
|
+
|
|
413
|
+
#### 8.1 中文界面
|
|
414
|
+
|
|
415
|
+
**测试目标**: 验证中文界面显示
|
|
416
|
+
|
|
417
|
+
**测试步骤**:
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
# 设置中文语言
|
|
421
|
+
esa lang zh_CN
|
|
422
|
+
esa init test-project
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
**验证点**:
|
|
426
|
+
|
|
427
|
+
- [ ] 所有提示信息显示中文
|
|
428
|
+
- [ ] 模板名称显示中文
|
|
429
|
+
- [ ] 错误信息显示中文
|
|
430
|
+
|
|
431
|
+
#### 8.2 英文界面
|
|
432
|
+
|
|
433
|
+
**测试目标**: 验证英文界面显示
|
|
434
|
+
|
|
435
|
+
**测试步骤**:
|
|
436
|
+
|
|
437
|
+
```bash
|
|
438
|
+
# 设置英文语言
|
|
439
|
+
esa lang en
|
|
440
|
+
esa init test-project
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
**验证点**:
|
|
444
|
+
|
|
445
|
+
- [ ] 所有提示信息显示英文
|
|
446
|
+
- [ ] 模板名称显示英文
|
|
447
|
+
- [ ] 错误信息显示英文
|
|
448
|
+
|
|
449
|
+
## 性能测试
|
|
450
|
+
|
|
451
|
+
### 1. 大模板处理
|
|
452
|
+
|
|
453
|
+
**测试目标**: 验证大模板的处理性能
|
|
454
|
+
|
|
455
|
+
**测试步骤**:
|
|
456
|
+
|
|
457
|
+
```bash
|
|
458
|
+
# 使用包含大量文件的大模板
|
|
459
|
+
esa init test-project --template <large-template>
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
**验证点**:
|
|
463
|
+
|
|
464
|
+
- [ ] 文件复制速度合理
|
|
465
|
+
- [ ] 内存使用正常
|
|
466
|
+
- [ ] 不出现超时错误
|
|
467
|
+
|
|
468
|
+
### 2. 网络依赖安装
|
|
469
|
+
|
|
470
|
+
**测试目标**: 验证网络依赖安装性能
|
|
471
|
+
|
|
472
|
+
**测试步骤**:
|
|
473
|
+
|
|
474
|
+
```bash
|
|
475
|
+
# 使用包含大量依赖的模板
|
|
476
|
+
esa init test-project --template <template-with-many-deps>
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
**验证点**:
|
|
480
|
+
|
|
481
|
+
- [ ] 依赖安装速度合理
|
|
482
|
+
- [ ] 网络超时处理
|
|
483
|
+
- [ ] 安装失败重试机制
|
|
484
|
+
|
|
485
|
+
## 清理测试
|
|
486
|
+
|
|
487
|
+
### 1. 测试数据清理
|
|
488
|
+
|
|
489
|
+
**测试步骤**:
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
# 清理测试项目
|
|
493
|
+
rm -rf test-*
|
|
494
|
+
rm -rf my-test-project
|
|
495
|
+
rm -rf my-project
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### 2. 环境恢复
|
|
499
|
+
|
|
500
|
+
**测试步骤**:
|
|
501
|
+
|
|
502
|
+
```bash
|
|
503
|
+
# 恢复语言设置(如果需要)
|
|
504
|
+
esa lang en
|
|
505
|
+
|
|
506
|
+
# 清理临时文件
|
|
507
|
+
rm -rf .esa-temp-*
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
## 测试报告模板
|
|
511
|
+
|
|
512
|
+
### 测试执行记录
|
|
513
|
+
|
|
514
|
+
| 测试用例 | 执行时间 | 结果 | 备注 |
|
|
515
|
+
| -------------- | ---------------- | --------- | ---- |
|
|
516
|
+
| 基础功能测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
517
|
+
| 命令行选项测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
518
|
+
| 错误处理测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
519
|
+
| 模板更新测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
520
|
+
| 依赖管理测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
521
|
+
| Git 集成测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
522
|
+
| 部署功能测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
523
|
+
| 多语言支持测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
524
|
+
| 性能测试 | YYYY-MM-DD HH:MM | PASS/FAIL | |
|
|
525
|
+
|
|
526
|
+
### 问题记录
|
|
527
|
+
|
|
528
|
+
| 问题描述 | 严重程度 | 复现步骤 | 状态 |
|
|
529
|
+
| -------- | -------- | -------- | ---- |
|
|
530
|
+
| | | | |
|
|
531
|
+
|
|
532
|
+
## 自动化测试脚本
|
|
533
|
+
|
|
534
|
+
### 基础测试脚本
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
#!/bin/bash
|
|
538
|
+
# init-command-test.sh
|
|
539
|
+
|
|
540
|
+
set -e
|
|
541
|
+
|
|
542
|
+
echo "开始 ESA CLI Init 命令测试..."
|
|
543
|
+
|
|
544
|
+
# 清理环境
|
|
545
|
+
cleanup() {
|
|
546
|
+
echo "清理测试环境..."
|
|
547
|
+
rm -rf test-*
|
|
548
|
+
rm -rf my-test-project
|
|
549
|
+
rm -rf my-project
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
trap cleanup EXIT
|
|
553
|
+
|
|
554
|
+
# 测试用例
|
|
555
|
+
echo "1. 测试项目名称验证..."
|
|
556
|
+
esa init A 2>&1 | grep -q "项目名称必须至少2个字符" || exit 1
|
|
557
|
+
|
|
558
|
+
echo "2. 测试指定项目名称..."
|
|
559
|
+
esa init test-project --skip
|
|
560
|
+
[ -d "test-project" ] || exit 1
|
|
561
|
+
|
|
562
|
+
echo "3. 测试 --yes 选项..."
|
|
563
|
+
esa init --yes --skip
|
|
564
|
+
[ -d "edge-routine-"* ] || exit 1
|
|
565
|
+
|
|
566
|
+
echo "4. 测试 --template 选项..."
|
|
567
|
+
esa init template-test --template <valid-template> --skip
|
|
568
|
+
[ -d "template-test" ] || exit 1
|
|
569
|
+
|
|
570
|
+
echo "所有测试通过!"
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
### 运行自动化测试
|
|
574
|
+
|
|
575
|
+
```bash
|
|
576
|
+
# 给脚本执行权限
|
|
577
|
+
chmod +x init-command-test.sh
|
|
578
|
+
|
|
579
|
+
# 运行测试
|
|
580
|
+
./init-command-test.sh
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
## 注意事项
|
|
584
|
+
|
|
585
|
+
1. **环境隔离**: 测试时确保在独立的测试目录中进行,避免影响现有项目
|
|
586
|
+
2. **网络依赖**: 部分测试需要网络连接,确保网络环境正常
|
|
587
|
+
3. **权限要求**: 某些操作可能需要管理员权限,确保有足够权限
|
|
588
|
+
4. **数据备份**: 测试前备份重要数据,避免意外丢失
|
|
589
|
+
5. **版本兼容**: 确保测试的 CLI 版本与文档版本一致
|
|
590
|
+
|
|
591
|
+
## 联系支持
|
|
592
|
+
|
|
593
|
+
如果在测试过程中遇到问题,请:
|
|
594
|
+
|
|
595
|
+
1. 记录详细的错误信息和复现步骤
|
|
596
|
+
2. 检查环境配置和依赖版本
|
|
597
|
+
3. 查看项目 Issues 或提交新的 Issue
|
|
598
|
+
4. 联系开发团队获取支持
|
package/dist/i18n/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
|
-
import { getCliConfig } from '../utils/fileUtils/index.js';
|
|
3
2
|
import logger from '../libs/logger.js';
|
|
4
|
-
import { readJson } from '../utils/readJson.js';
|
|
5
3
|
import { getDirName } from '../utils/fileUtils/base.js';
|
|
4
|
+
import { getCliConfig } from '../utils/fileUtils/index.js';
|
|
5
|
+
import { readJson } from '../utils/readJson.js';
|
|
6
6
|
const localesJson = readJson(resolve(getDirName(import.meta.url), './locales.json'));
|
|
7
7
|
const t = (key, variables) => {
|
|
8
8
|
var _a;
|