单元测试本来就是一项简单易学的技术;但是如果能够遵循一些指导性原则(guideline)和基本步骤,那么学习将会变得更加容易和有效。
首先要考虑的是在编写这些测试方法之前,如何测试那些可疑的方法。有了这样一个大概的想法之后,你将可以在编写实现代码的时候,或者之前,编写测试代码本身。
下一步,你需要运行测试本身,或者同时运行系统模块的所有其他测试,甚至运行整个系统的测试,前提是这些测试运行起来相对比较快。在此,我们要确保所有的测试都能够通过,而不只是新写的测试能够通过;这一点是非常重要的。也就是说,在保证不引入直接bug 的同时,你也要保证不会给其他的测试带来破坏。
在这个测试过程中,我们须要确认每个测试究竟是通过了还是失败了——但这并不意味着你或者其他倒霉的人须要查看每个输出,然后才决定这些代码是正确的还是错误的。在此,你慢慢地就会养成一个习惯:只要用眼睛瞄一下测试结果,就可以马上知道所有代码是否都是正确的,或者哪些代码是有问题的。关于这个问题,我们将留在讨论如何使用单元测试框架时来具体讨论。
6. 不写测试的借口
在听过了我们合情合理、热情洋溢的阐述之后,某些开发者会点头并且同意单元测试的必要性,但是也许仍然会告诉我们由于某些原因,不能编写单元测试。下面就是我们所听到的一些借口,当然其中也包含了我们的辩解。