本书的第一部分主要介绍了TDD相关背景知识(TDD、Refactoring、Programing by Intention)
这部分就让我们探讨一下可供测试驱动开发使用的工具,主要是junit以及它的一些扩展.
1.JUnit
JUnit框架图.
2.建议
(1) 一些插件能够自动为特定的类生成TestCase,并为目标类中的每个方法创建一个测试,这种关联测试的做法是错误的,
你应当为行为而不是方法编写测试.
(2) 先测试简单的东西,主要包括:
a. 正确处理null
b. 空集或null对象的行为
c. 递归或迭代计算的基本情况
(3) 测试的方法也应该简短,避免bad smell
(4) 尽早测试边界条件
(5) 保持测试间的相对独立,一个测试的失败不应该导致其他测试的失败.
(6) 使用细化的接口,接口应该是目标专一的,过多内容的接口就是一种smell,接口包含的声明不超过三个就非常好.
(7) 避免在测试中使用System.out或者System.err,测试应当是在程序断言的帮助下自动运行的.