本节书摘来异步社区《JUnit实战(第2版)》一书中的第1章,第1.1节,作者:【美】Petar Tahchiev , Felipe Leme , Vincent Massol , Gary Gregory,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第1章 Unit起步
JUnit实战(第2版)
Never in the field of software development was so much owed by so many to so few lines of code.
在软件开发领域中,从来没有这样的事情:少数几行代码对大量代码起着如此重要的作用。
——Martin Fowler
本章重点
探索JUnit
安装JUnit
编写第一个测试
运行测试
所有的代码都需要进行测试。
在开发期间,我们所做的第一件事是运行程序员自己的“验收测试”。我们编码、编译并运行。当我们运行时,我们就在进行测试。测试可能只是点击一个按钮,看它是否能弹出预期的菜单。然而,每天我们都要进行编码、编译、运行和测试。
当我们测试时,我们经常会发现各种问题——尤其是第一次运行时。于是,我们重新编码、编译、运行和测试。我们中的大多数人会迅速形成一种非正式的测试模式:添加一条记录、查看一条记录、编辑一条记录以及删除一条记录。手动运行诸如此类的小测试集是非常容易做到的,所以我们会不断重复这个操作。
有些程序员喜欢这类重复性的测试。在经历深入的思索和艰难的编码后,这类重复性的操作可以带来一段愉快的小憩。当我们小小的点击测试终于成功时,一股成就感便会油然升起:搞定了!我搞定了!
但有一些程序员却不喜欢重复性的工作。与其手动运行测试,他们宁愿创建一个小程序来自动运行测试。编写测试代码是一回事,而运行自动测试是另一回事。
如果你是一名编写测试代码的开发人员,那么这本书就是为你而准备的。我们将为你展示创建自动测试是多么简单、有效,甚至有趣。
如果你是一名深受测试影响的开发人员(test-infected1),那么这本书同样适合你。我们在第1部分介绍了基础知识,然后在第2、第3和第4部分继续探讨实际工作中的各种疑难杂症。
1test-infected是由Gamma和Beck创建的一个术语,参见《Test-Infected: Programmers Love Writing Tests》,Java Report, 3, 7, 37–50: 1998。