dsh-request-doctor 0.12.4 → 0.12.6
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/docs/01-/350/275/257/344/273/266/351/234/200/346/261/202/350/247/204/346/240/274/350/257/264/346/230/216.md +1 -1
- package/docs/02-/350/275/257/344/273/266/350/256/276/350/256/241/350/257/264/346/230/216.md +1 -1
- package/docs/03-/350/275/257/344/273/266/346/265/213/350/257/225/346/212/245/345/221/212.md +4 -4
- package/docs/04-/345/256/211/350/243/205/351/203/250/347/275/262/350/257/264/346/230/216.md +1 -1
- package/docs/05-/347/224/250/346/210/267/346/211/213/345/206/214.md +10 -4
- package/docs/06-/350/275/257/344/273/266/350/264/250/351/207/217/345/272/246/351/207/217/346/212/245/345/221/212.md +1 -1
- package/docs/quality-report.json +8 -8
- package/lib/verdict-report.js +28 -10
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 软件测试报告
|
|
2
2
|
|
|
3
3
|
**产品名称**:request-doctor(请求急救员)
|
|
4
|
-
**版本**:0.12.
|
|
4
|
+
**版本**:0.12.6
|
|
5
5
|
**编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.6;GB/T 8566-2007 验证与确认过程
|
|
6
6
|
|
|
7
7
|
---
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
| `test/client-half.test.mjs` | 5 | 客户端半:模块身份、注入声明、apply 注册、组件能渲染 |
|
|
63
63
|
| `test/diagnostics.test.mjs` | 3 | 快照可选写入:不配置不写盘、突发合并、坏路径不致命 |
|
|
64
64
|
| `test/restart-notice.test.mjs` | 3 |
|
|
65
|
-
| `test/verdict-report.test.mjs` |
|
|
66
|
-
| **合计** | **
|
|
65
|
+
| `test/verdict-report.test.mjs` | 19 | why 与 list:判定、理由、环境摘要、自动扫描、分组排序 | 缺导出判为需要重启;其它失败不误判;多次累积不覆盖 |
|
|
66
|
+
| **合计** | **180** | **全部通过** |
|
|
67
67
|
|
|
68
68
|
执行结果:
|
|
69
69
|
|
|
@@ -213,4 +213,4 @@
|
|
|
213
213
|
|
|
214
214
|
### 7.2 分文件执行结果
|
|
215
215
|
|
|
216
|
-
31 个测试文件逐个单独执行,每个都有用例且全部通过,不存在因导入失败而静默跳过的文件。用例数分布:compat.test.mjs 17、plugin.test.mjs 15、compat-env.test.mjs 14、classify.test.mjs 13,其余按职能分散,合计
|
|
216
|
+
31 个测试文件逐个单独执行,每个都有用例且全部通过,不存在因导入失败而静默跳过的文件。用例数分布:compat.test.mjs 17、plugin.test.mjs 15、compat-env.test.mjs 14、classify.test.mjs 13,其余按职能分散,合计 180。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 软件用户手册
|
|
2
2
|
|
|
3
3
|
**产品名称**:request-doctor(请求急救员)
|
|
4
|
-
**版本**:0.12.
|
|
4
|
+
**版本**:0.12.6
|
|
5
5
|
**编制依据**:GB/T 8567-2006《计算机软件文档编制规范》6.5
|
|
6
6
|
|
|
7
7
|
---
|
|
@@ -221,9 +221,15 @@ dsh-hyper-tools@0.1.0:incompatible
|
|
|
221
221
|
|
|
222
222
|
```
|
|
223
223
|
已审计 3 个插件:
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
|
|
225
|
+
需要处理 1 个:
|
|
226
|
+
dsh-hyper-tools incompatible 真实旧版本 3 个(需重启)
|
|
227
|
+
|
|
228
|
+
可以直接用 2 个:
|
|
229
|
+
dsh-fast-mode compatible
|
|
230
|
+
dsh-ssh-ops compatible 薄垫片 5 个
|
|
227
231
|
```
|
|
228
232
|
|
|
233
|
+
需要处理的排在前面,兼容的排在后面。
|
|
234
|
+
|
|
229
235
|
列表里只留环境提示的前半句,完整内容用 `/doctor why` 看。
|
package/docs/quality-report.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"standard": "GB/T 45717-2025 信息技术 软件测量 软件质量测量 自动化的源代码质量测度",
|
|
3
|
-
"generatedAt": "2026-10-29T15:
|
|
3
|
+
"generatedAt": "2026-10-29T15:40:53.188Z",
|
|
4
4
|
"scope": {
|
|
5
5
|
"files": 31,
|
|
6
|
-
"totalLines":
|
|
7
|
-
"sourceLines":
|
|
8
|
-
"commentLines":
|
|
6
|
+
"totalLines": 5131,
|
|
7
|
+
"sourceLines": 3720,
|
|
8
|
+
"commentLines": 939
|
|
9
9
|
},
|
|
10
10
|
"measures": {
|
|
11
|
-
"commentDensity": 25.
|
|
12
|
-
"duplicationPercent": 4.
|
|
13
|
-
"functionCount":
|
|
11
|
+
"commentDensity": 25.24,
|
|
12
|
+
"duplicationPercent": 4.94,
|
|
13
|
+
"functionCount": 387,
|
|
14
14
|
"maxComplexity": 10,
|
|
15
15
|
"maxFunctionLines": 59,
|
|
16
16
|
"maxFileLines": 500,
|
|
17
|
-
"averageComplexity": 3.
|
|
17
|
+
"averageComplexity": 3.85
|
|
18
18
|
},
|
|
19
19
|
"limits": {
|
|
20
20
|
"maxComplexity": 10,
|
package/lib/verdict-report.js
CHANGED
|
@@ -70,23 +70,41 @@ export async function listAudited(deps) {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
// 列出所有被审计过的插件:不先知道包名也能看现状。
|
|
73
|
+
//
|
|
74
|
+
// 按判定分组输出:需要处理的排在前面。混在一起时,扫一眼看不出问题在哪。
|
|
73
75
|
export function formatList(deps) {
|
|
74
76
|
const audited = auditedOf(deps);
|
|
75
77
|
if (audited.length === 0) return { kind: 'success', text: '还没有扫描结果,先执行 /doctor 或等下一轮扫描' };
|
|
76
78
|
|
|
77
|
-
const
|
|
79
|
+
const broken = audited.filter((item) => item.verdict !== 'compatible');
|
|
80
|
+
const fine = audited.filter((item) => item.verdict === 'compatible');
|
|
78
81
|
const width = Math.max(...audited.map((item) => item.name.length));
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
82
|
+
|
|
83
|
+
const lines = [`已审计 ${audited.length} 个插件:`];
|
|
84
|
+
if (broken.length > 0) pushGroup(lines, `需要处理 ${broken.length} 个`, broken, width);
|
|
85
|
+
if (fine.length > 0) pushGroup(lines, `可以直接用 ${fine.length} 个`, fine, width);
|
|
84
86
|
lines.push('', '用 /doctor why <包名> 看某个插件的完整理由。');
|
|
85
87
|
return { kind: 'success', text: linesText(lines) };
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
//
|
|
89
|
-
function
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
// 一个小标题加若干行。
|
|
91
|
+
function pushGroup(lines, title, items, width) {
|
|
92
|
+
lines.push('', `${title}:`);
|
|
93
|
+
for (const item of items) lines.push(` ${rowOf(item, width)}`);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// 一行:名字对齐,后面跟判定和环境提示。
|
|
97
|
+
function rowOf(item, width) {
|
|
98
|
+
const name = item.name.padEnd(width);
|
|
99
|
+
const where = item.environment === undefined ? '' : ` ${shortEnvironment(item.environment)}`;
|
|
100
|
+
return `${name} ${item.verdict}${where}`;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// 列表里只用环境的摘要:把包名列表整段丢掉,超长再截。
|
|
104
|
+
//
|
|
105
|
+
// 「真实旧版本 3 个(需重启):@deepseek…」把冒号和半截包名挤在一起,读起来别扭;
|
|
106
|
+
// 包名列表留给 /doctor why 输出。
|
|
107
|
+
export function shortEnvironment(text) {
|
|
108
|
+
const head = text.split(':')[0].split(';')[0];
|
|
109
|
+
return head.length > 30 ? `${head.slice(0, 30)}…` : head;
|
|
92
110
|
}
|