优点:
- 质量控制,为代码的提交、上线及维护都提供了质量标准
- 提前发现错误
- 前期测试的完备,后期开发成本会降低
缺点:
- 完备的测试,单测/功能测试/端到端测试等需要一定的成本
- Enzyme:React组件的测试工具,模拟组件的渲染和加载
- Jest:基于
Jasmine
框架的 JavaScript 单元测试工具 - 当然还有一些第三方测试库提供的Mock
- 后端 Mocha,还没有使用经验
-
单元测试
最小粒度的测试,一般是开发人员对函数、模块内部进行测试,偏向白盒测试
-
功能测试
测试业务功能
-
集成测试
比单元测试粒度大,比如测试已经经过单测的模块间的接口
- 提高代码可读性
- 团队风格一致,便于维护开发
- 消除代码的歧义
知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
[Doc\]
Errors (异常)[Doc\]
Domain (域)[Doc\]
Debugger (调试器)[Doc\]
C/C++ 插件[Doc\]
V8[Point\]
内存快照[Point\]
CPU profiling
常见问题
- 怎么处理未预料的出错? 用 try/catch ,domains 还是其它什么? [more]
- 什么是
uncaughtException
事件? 一般在什么情况下使用该事件? [more] - domain 的原理是? 为什么要弃用 domain? [more]
- 什么是防御性编程? 与其相对的 let it crash 又是什么?
- 为什么要在 cb 的第一参数传 error? 为什么有的 cb 第一个参数不是 error, 例如 http.createServer?
- 为什么有些异常没法根据报错信息定位到代码调用? 如何准确的定位一个异常? [more]
- 内存泄漏通常由哪些原因导致? 如何分析以及定位内存泄漏? [more]
常见问题
- 为什么要写测试? 写测试是否会拖累开发进度?[more]
- 单元测试的单元是指什么? 什么是覆盖率?[more]
- 测试是如何保证业务逻辑中不会出现死循环的?[more]
- mock 是什么? 一般在什么情况下 mock?[more]