《单元测试之道 Java 版》的读书笔记

ZhuYuanxiang 2019-01-16 00:00:00
Categories: Tags:

总览

这是本相对简单的书,书中采用的 JUnit 的版本也是旧的,但是在新的 JUnit4 下稍做修改依然可以运行。重要的是通过这本书了解 JUnit 在 Java 的单元测试中是如何使用的。原书代码只练习了一部分,一个原因是内容有点旧,新出的许多工具不需要旧的方式操作;一个原因是现在不做开发,不太需要深入理解细节。

第 2 章 首个单元测试

计划你的测试 : 测试不是无中生有的,也不是意想天开的。是根据需要一点点添加的,帮助自己尽早地发现思考上的误区。参看这章给出的例子,原来理所当然正确的,结果不一定是正确的。

第 3 章 使用 JUnit 编写测试

3.1 构建单元测试

测试代码必须要做的几件事情 :

3.2 JUnit 的各种断言

断言 : JUnit 提供的辅助函数,帮助你确认被测试函数是否正确运行。

后面还介绍了 ( 3.5 JUnit 的自定义断言 )

3.3 JUnit 框架

这章是基于 JUnit3.x 写的,建议了解就可以了,因为 JUnit4 的变化较大,使用也更方便直观,因此直接参考 JUnit4 的帮助

框架运行顺序 对应于标签
setUpBeforeClass() @BeforeClass
setUp() @Before
testMethod1()
tearDown() @After
setUp() @Before
testMethod2()
tearDown() @After
tearDownAfterClass() @AfterClass

4. 测试什么

6 个需要测试的地方 ( Right-BICEP ) :

测试内容较多时,可以使用测试数据文件进行准备。但是使用文件后就没有测试代码看起来那么直观了,因此除非测试内容非常复杂,否则没有必要采用这样的方式。并且如果测试文件出现错误 ( 作者书中就出现了数据错误 ) ,还会导致测试不通过,增加了维护的成本。

5.CORRECT ( 正确的 ) 边界条件

6. 使用 Mock 对象

Mock 对象解决的问题 :

Mock 对象解决的步骤 :

注 : 这里的 Mock 不是网上已经形成框架的 Mock 工具,是 Mock 的实现原理。作者推荐的 Mock 工具是 EasyMock。其他的 Mock 工具可以参考《使用 Mock 进行单元测试

7. 好的测试所具有的品质(A-TRIP)

如何确保测试代码是正确的呢?

8. 在项目中进行测试

9. 设计话题