Unit testing JUnit vs TestNg-用于使用SpringMVC的新项目

Unit testing JUnit vs TestNg-用于使用SpringMVC的新项目,unit-testing,integration-testing,testng,junit4,Unit Testing,Integration Testing,Testng,Junit4,查看到目前为止JUnit[v4.11]和TestNg[v6.8.5]的最新版本,我发现这两个框架没有太大区别 如果我在我的项目中使用SpringMVC,并且有几个层,并且需要在所有控制器/服务/dao层进行单元/集成测试,那么什么样的框架对我真正有帮助呢 我以前有在JUnit上工作的经验,但从未使用过TestNg。有什么建议吗?差别不大 使用你熟悉和熟悉的 稍微澄清一下: 使用JUnit4.xx,您几乎可以轻松地完成TestNG所做的任何事情,并且还可以轻松地扩展它 设置测试顺序:@FixMet

查看到目前为止JUnit[v4.11]和TestNg[v6.8.5]的最新版本,我发现这两个框架没有太大区别

如果我在我的项目中使用SpringMVC,并且有几个层,并且需要在所有控制器/服务/dao层进行单元/集成测试,那么什么样的框架对我真正有帮助呢


我以前有在JUnit上工作的经验,但从未使用过TestNg。有什么建议吗?

差别不大

使用你熟悉和熟悉的

稍微澄清一下:

使用JUnit4.xx,您几乎可以轻松地完成TestNG所做的任何事情,并且还可以轻松地扩展它

设置测试顺序:@FixMethodOrderMethodSorters.NAME\u 对测试数据使用参数:@RunWithParameterized.class 或

@统治
公共数据集规则=新数据集规则

差别并没有那么大

使用你熟悉和熟悉的

稍微澄清一下:

使用JUnit4.xx,您几乎可以轻松地完成TestNG所做的任何事情,并且还可以轻松地扩展它

设置测试顺序:@FixMethodOrderMethodSorters.NAME\u 对测试数据使用参数:@RunWithParameterized.class 或

@统治
公共数据集规则=新数据集规则

虽然JUnit可以在TestNG中完成几乎所有的工作,但是在JUnit环境中使用TestNG的功能需要做更多的工作

在某种程度上,集成测试所需的一个重要功能是能够订购您运行的测试,无论是为了早期纾困,还是为了在数据库测试失败时测试应用程序功能,还是为了提高效率,在操作测试之前运行配置测试,都是毫无意义的。虽然某些类的单元测试叶测试应该没有顺序地指定,但几乎所有有趣的内容都是在非叶方法中完成的,并且设置非常简单

另一个领域是参数化测试:TestNG对参数化有更强的处理能力


我不能介绍JUnit优于TestNG的好处,因为测试排序的好处远远大于不能排序测试的好处

虽然JUnit可以在TestNG中完成几乎所有的工作,但是在JUnit环境中使用TestNG的功能需要做更多的工作

在某种程度上,集成测试所需的一个重要功能是能够订购您运行的测试,无论是为了早期纾困,还是为了在数据库测试失败时测试应用程序功能,还是为了提高效率,在操作测试之前运行配置测试,都是毫无意义的。虽然某些类的单元测试叶测试应该没有顺序地指定,但几乎所有有趣的内容都是在非叶方法中完成的,并且设置非常简单

另一个领域是参数化测试:TestNG对参数化有更强的处理能力


我不能介绍JUnit优于TestNG的好处,因为测试排序的好处远远大于不能排序测试的好处

jUnit非常适合进行单元测试,可以很好地完成工作,但是它从来都不是为集成测试而构建的,但在过去的一年左右,它一直致力于集成/自动化测试

TestNG从一开始就适合于集成/自动化测试,它拥有比jUnit更强大的dataprovider版本,甚至在jUnit具备dataprovider功能之前。它比jUnit具有更好的注释支持,并且与jUnit不同,TestNG不要求类前/类后方法是静态的。它具有更好的多线程/并行执行支持,并具有方法依赖性和顺序执行。所有这些jUnit都需要或做得很差

TestNG甚至有更好的报告,请谷歌报告或我最喜欢的TestNG XLST


如果您只需要简单的单元测试,我会选择jUnit,如果您需要一个更健壮的测试框架来满足您的单元/集成/性能/自动化测试,那么我非常推荐TestNG。

jUnit非常适合单元测试,可以很好地完成工作,但是它从来都不是为集成测试而构建的,但在过去的一年左右,它一直致力于集成/自动化测试

TestNG从一开始就适合于集成/自动化测试,它拥有比jUnit更强大的dataprovider版本,甚至在jUnit具备dataprovider功能之前。它比jUnit具有更好的注释支持,并且与jUnit不同,TestNG不要求类前/类后方法是静态的。它具有更好的多线程/并行执行支持,并具有方法依赖性和顺序执行。所有这些jUnit都需要或做得很差

TestNG甚至有更好的报告,请谷歌报告或我最喜欢的TestNG XLST

如果您只需要简单的单元测试,如果您需要一个更健壮的测试框架来满足您的单元/集成/性能/自动化需求,IMO将使用jUnit 然后我会非常推荐TestNG