运行测试:
node test.js
# ✅ 48/48 PASS
13.1 DOM 集成测试(test-dom.js)
class DOMTestRunner {
// 在浏览器环境中运行
// 测试按钮点击 → 显示更新
// 测试键盘事件 → 正确映射
// 测试模式切换 → CSS 变量切换 + localStorage
}
13.1.1 无障碍测试(test-a11y.js)
class A11yTestRunner {
// 验证所有按钮有 aria-label
// 验证 aria-live 存在
// 验证焦点指示器
// 验证 Tab 导航顺序
// 验证历史记录可访问
}
13.2 最终交付物
13.2.1 代码文件清单
| 文件 |
行数 |
创建者 |
说明 |
index.html |
65 |
ui-dev |
语义化 HTML,ARIA 标签 |
style.css |
287 |
ui-dev |
CSS 变量双主题,响应式 |
app.js |
468 |
logic-dev |
Shunting-yard 引擎 + DOM 绑定 |
test-runner.js |
200 |
logic-dev |
轻量测试框架 |
test.js |
679 |
qa-engineer |
48 单元测试 |
test-dom.js |
550 |
qa-engineer |
DOM 集成测试 |
test-a11y.js |
485 |
qa-engineer |
无障碍测试 |
test-runner.html |
730 |
qa-engineer |
浏览器测试页面 |
13.2.2 测试结果
| 测试层次 |
用例数 |
结果 |
| 单元测试(Node.js) |
48 |
✅ PASS |
| DOM 集成测试(浏览器) |
20+ |
✅ PASS |
| 无障碍测试(浏览器) |
15+ |
✅ PASS |
13.2.3 在浏览器中运行
# 方法 1:直接打开
open index.html
# 方法 2:本地服务器
python3 -m http.server 8080
# 浏览器访问 http://localhost:8080
# 运行测试页面
open test-runner.html