TestNG 使 Java 单元测试轻而易举
试用这个测试框架,了解它对 JUnit 的超越 在每个现代软件包的构造阶段,测试这一实践都扮演着中心角色。过去那种先编写代码,然后有空的时候再测试(或者根本不测试)的日子已经一去不返,因为大多数开发人员现在认识到需要采用编码和测试彼此交织、同步推进的软件方法论,以便尽早发现 bug,在开发过程开始的时候就识别出主要的风险。 JUnit 超过了其他测试框架,推动开发人员理解了测试尤其是单元测试的用途。利用一个相当简单、实用、严格的架构,JUnit 已经能够“传染”大量开发人员。(有关“被测试传染”的更多信息,请参阅 参考资料。) JUnit 用户已经学会了单元测试的一些基本规则: 每段代码都必须经过测试。 只要有可能,代码的测试必须隔离进行(例如,使用像 模拟对象这样的技术 )。 软件必须容易测试 —— 也就是说, 在编写的时候要想着测试。 但是,随着开发人员对测试的信任增长,JUnit 的简单性和严格性把他们分成两个相反的派别。一方面,有些人坚信 JUnit 的简单性对于不断地提醒程序员软件也必须保持简单来说是必不可少的(这称为 KISS 原则,代表 keep it simple, stupid);另一方面,有些人认为 JUnit 不是简单而是简化,所以他们想要从测试框架得到新的高级特性、更大的灵活性和更强大的能力。JUnit 的一些特殊特性,就是为了满足这个群体的一些具体批评而推出的: 因为 Java 语言的单继承性,所以必须扩展 TestCase类的限制很大。 无法向 JUnit 的测试方法传递参数,也无法向 setUp()和…