单元测试实践总结
2016-04-07 本文已影响155人
No_21312
单元测试的作用
单元测测试的目的在于验证一个明确的功能【一般是某个或者某组函数在特定条件下的行为】是否正确。
为什么要单元测试
- 有助于提高代码的设计
- 有助于提高重构信心和质量
- 有助于帮助理解代码
- 有助于发现bug和调试
单元测试军规
步骤简单
- Setup
- 调用
- 断言
- TearDown
用例名称具有自描述
单元测试应该成为开发文档。
运行快速
单个用例执行时间要保证在毫秒级,这样才能保证在重构的时候快速小步前进。
原子性
测试结果要么失败,要么成功,没有部分成功失败的说法。
幂等性
测试用例无论被执行多少次,结果都是一样的。
单一职责
每个测试用例都只测试一种行为,注意这里说的是行为,而不是方法。
独立性
测试用例之间互不耦合,不能互相影响,尽量不要共享代码, 如果一定要共享代码应该放置在Setup函数中。
隔离依赖
要做到以上几点,必须隔离依赖,包括数据库访问,网络访问,读写文件,对用第三方资源等。
Mock依赖对象并注入
要求面向接口接口,不直接创建依赖对象,而是Mock依赖对象并注入。