我熟悉jUnit,听说TestNG可能是解决jUnit一些烦人问题的方法,例如jUnit坚持为每个测试创建一个单独的测试类实例,因此强制我使用静态字段来在测试之间重用对象。
(假设您同意我这是一个缺点,并且不将这个问题转化为其他内容)
我这里想问的是,与jUnit相比,TestNG有哪些缺点?假设这是一个新项目,没有任何迁移成本,为什么不使用TestNG呢?
我熟悉jUnit,听说TestNG可能是解决jUnit一些烦人问题的方法,例如jUnit坚持为每个测试创建一个单独的测试类实例,因此强制我使用静态字段来在测试之间重用对象。
(假设您同意我这是一个缺点,并且不将这个问题转化为其他内容)
我这里想问的是,与jUnit相比,TestNG有哪些缺点?假设这是一个新项目,没有任何迁移成本,为什么不使用TestNG呢?
我是TestNG的创建者。由于我显然有偏见,因此我不会表态,但我很乐意回答您对TestNG的任何问题。
Andy:感谢您的评论。供您参考(您可能已经知道了,但也许原始帖子不知道),这里有一个TestNG Eclipse插件(与TestNG并行开发)。
与JUnit相比,我个人没有遇到任何显著的缺点。
在新项目开始时,我的团队转向了TestNG,并且没有后悔过。TestNG比单元测试更加强大,支持更广泛的用途。
一些工具支持JUnit但不支持TestNG。这些是我尚未需要的工具。例如:
对我来说,最大的问题是与Spring的集成。 我不喜欢扩展TestNg类并编写像这样的代码:
@Test
@ContextConfiguration(locations = { "classpath:spring-test-config.xml" })
public class TestSpring extends AbstractTestNGSpringContextTests {
https://github.com/TNG/junit-dataprovider/wiki/Getting-started