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

以下是对 两个测试框架的详细对比。其中要特别说明的是,在很多资料上说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 的预期用途则针对高级测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值