JUnit 4 和 TestNG 曾经具有可比性。这两个测试框架有何优缺点?
我今天比较了 TestNG 和 JUnit4,以我有限的测试框架经验可以指出的主要优点是,TestNG 有一种更优雅的方式来使用数据提供者概念处理参数化测试。
据我所知,使用 JUnit4,您必须为要测试的每组参数创建一个单独的测试类(使用@RunWith(Parameterized.class)
)。使用 TestNG,您可以在单个测试类中拥有多个数据提供者,因此您也可以将单个类的所有测试保留在单个测试类中。
到目前为止,这是我可以指出的 TestNG 相对于 JUnit4 的唯一优势。
Intellij IDEA 包含对 TestNG 和 JUnit 的开箱即用支持。然而,Eclipse 仅支持开箱即用的 JUnit,并且需要安装 TestNG 插件才能使其工作。
然而,我在 TestNG 中遇到的一个更烦人的问题是你的测试类需要扩展PowerMockTestCase
如果您使用 PowerMock 来模拟测试中的依赖项。显然,在通过特殊方法或通过使用 PowerMock 时,有一些方法可以配置您的测试框架需要了解的对象工厂testng.xml
套件定义,但目前这些似乎已被打破。我不喜欢让测试类扩展测试框架类,这看起来很黑客。
如果您不使用 PowerMock,这当然不是问题,但总而言之,我的印象是 JUnit4 得到了更好的支持。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)