1.7 庆祝成功
100个JUnit测试并不是很多,但每一个测试代表了许多断言,并且是一个值得庆祝的里程碑。当达到1000个JUnit测试时,我们觉得这值得全公司聚会庆祝一下,并为全公司的人购买了比萨。当庆祝第2000个JUnit测试时,我们组织了一个有饮料和拼盘的小型聚餐。有人曾经问过我,这些庆祝会不会鼓励一种不好的事情:盲目增加不必要的测试数量。其实,因为每个测试都是刚好在让其通过的那部分代码之前编写的,所以我们没有进行任何无关的单元测试。如果包含测试的代码移除了,那么测试也会移除。
当接近3000个JUint测试时,敏捷教练让我撰写一份说明书,谈谈在单元测试级别中一个健壮的回归测试套件对业务的重要意义。我写了一份关于TDD的高级描述报告,即它是如何帮助我们开发出健壮的、易维护的代码,并在单元测试级别为我们提供了回归测试覆盖的安全网。我试图阐明JUnit的目的:帮助设计代码。也就是说,我们不是胡乱编写单元测试的。敏捷教练把这份报告发给公司的每个人,并在一家本地饭店预订了一个聚会。不仅是为了庆祝我们完成任务,而且让所有的业务利益相关者也能体会其中的意义。