添加更多测试

现在,我们应该继续添加更多测试。我遵循的风格是:观察类该做的所有事情,然后针对任何一项功能的任何一种可能失败情况,进行测试。这不同于某些程序员提倡的“测试所有public函数”。记住,测试应该是一种风险驱动的行为,测试的目的是希望找出现在或未来可能出现的错误。所以我不会去测试那些仅仅读或写一个字段的访问函数,因为它们太简单了,不大可能出错。

编写未臻完善的测试并实际运行,好过对完美测试的无尽等待。

测试的一项重要技巧就是“寻找边界条件”。“寻找边界条件”也包括寻找特殊的、可能导致测试失败的情况。对于文件相关 测试,空文件是个不错的边界条件。

当事情被认为应该会出错时,别忘了检查是否抛出了预期的异常。

随着测试类愈来愈多,你可以生成另一个类,专门用来包含由其他测试类所组成的测试套件。这很容易做到,因为一个测试套件本来就可以包含其他测试套件。这样,你就可以拥有一个“主控的”测试类。

不要因为测试无法捕捉所有bug就不写测试,因为测试的确可以捕捉到大多数bug。

对象技术有个微妙处:继承和多态会让测试变得比较困难,因为将有许多种组合需要测试。

results matching ""

    No results matching ""