为什么要做测试
- 测试驱动开发,让你的开发思路更清晰
- 修改旧代码时,让你更有自信
测试类型
- 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/ |