当你想把一些东西写到 print
语句或者调试表达式中时,别这么做,将其写成一个测试来代替。
--Martin Fowler
单元测试主要是作为一种良好实践来编写的,它能帮助开发人员识别并修复 bug、重构代码,还可以看作被测软件单元的文档。要实现这些好处,理想的单元测试应当覆盖程序中所有可能的路径。一个单元测试通常覆盖一个函数或方法中 的一个特定路径。但是,测试方法并不一定非要是一个封装良好的独立实体。测试方法之间经常有隐含的依赖关系暗藏在测试的实现方案中。
--Adrian Kuhn et. al.
几项基本概念:
1. 依赖
2. 数据提供者
3. 异常也可以被测试