junit4 与 nextng的区别(表格为引用内容)

JUnit4与TestNG对比:功能、特性和优缺点解析
本文深入对比了JUnit4和TestNG两大测试框架的功能、特性和优缺点,重点关注参数化测试、测试分组、多线程测试、失败和重运行等关键指标,为开发者提供选择合适的测试框架的指南。

以下是对 两个测试框架的详细对比。其中要特别说明的是,在很多资料上说JUnit4 不支持参数化测试,这种说法我认为是不准确的,JUnit4支持参数化测试,只是在一个测试用例中,只能有一个标记了@Parameters注释的方法对参数进行批量设置。所以Junit4 只能给每个 不同的参数组编写一个测试用例

 

TESTNG&&JUNIT4 对比

特性或指标

TESTNG

JUINT4

1. 测试是否支持 (Annotations)

YES

YES

2.框架依赖程度

不需要扩展特定的基类和实现特定的方法

不需要扩展特定的基类和实现特定的方法

3.灵活性

同样支持 Before,After方法, TestNG更为灵活,支持各种签名方式,

如 private,protected

同样也支持 BeforeClass 和 AfterClass,只执行一次的方法,但是可以不需要使用 static签名

支持 Before,After方法

支持 BeforeClass 和 AfterClass

4.依赖性测试

利用 Test 注释的 dependsOnMethods 属性来应对测试的依赖性问题。有了这个便利的特性,就可以轻松指定依赖方法。

难确定测试用例执行的顺序

5.失败和重运行

一旦 TestNG 中出现失败,它就会创建一个 XML 配置文件,对失败的测试加以说明。如果利用这个文件执行 TestNG 运行程序, TestNG 就只 运行失败的测试。这样可以快速定位出错方法,并且节约大量的时间。

失败文件,一般命名为 testng-failed.xml,以后只需要运行此文件就可以了。

如果测试套件包括 N 项测试,其中 M(M<=N) 项失败,很可能就会迫使您重新运行整个测试套件(修改错误以后)。这样的工作会耗费掉大量的时间。

6.参数化测试

TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。

支持 @DataProvider 注释可以方便地把复杂参数类型映射到某个测试方法。

如果您想改变某个受测方法的参数组,就只能给每个 不同的参数组编写一个测试用例。多数情况下,这不会带来太多麻烦。出现大量的重复测试代码。

7. 测试分组

支持

不支持

8. 多线程测试

TestNG对多线程测试的支持良好,只需要配置即可。

JUnit中要想进行多线程测试比较麻烦,需要其它模块。

设计 JUnit 的目的是侧重点分析代码单元,而 TestNG 的预期用途则针对高级测试。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值