karma
为什么要做测试
- 测试驱动开发,让你的开发思路更清晰
- 修改旧代码时,让你更有自信
测试类型
- unit test
- e2e test
Unit test 单元测试
- TDD 测试驱动开发
Test-driven development - BDD 行为驱动开发
Behavior-Driven Development
| 类型 | 开发过程 |
|---|---|
| BDD | 1. pm 写故事 生成 测试用例 2. 开发去开发 |
| TDD | 1. pm 写需求 2. 测试写测试用例 3. 开发写单元测试驱动开发 |
选择:
- BDD 需要驱动pm写故事 生成 测试用例
- TDD 开发自己写测试用例 测试驱动开发
这里我们选择TDD--驱不动产品😳
单元测试框架
| 框架 | 特点 |
|---|---|
| Mocha | 灵活不含断言库 |
| Jest | Facebook,支持断言仿真,配置少 |
| Jasmine | 老,完善 |
| Cucumber | 看着不像js |
断言库
| 库 | 特点 |
|---|---|
| node Assert | TDD node原生支持 |
| chai | BDD/TDD风格,同时支持should,assert,expect |
| should.js | BDD风格 |
| expect | BDD风格,基于should的简化 |
其他
| 库 | 特点 |
|---|---|
| sinon | spy stub mock |
| @vue/test-utils | 官方测vue |
测试范围
- 公共组件
- 公共方法
- 你觉得该测的内容
End to end
| 库 | 特点 |
|---|---|
| nightwatch | http://nightwatchjs.org/ |
| cypress | https://www.cypress.io/ |








网友评论