以下是对 两个测试框架的详细对比。其中要特别说明的是,在很多资料上说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 的预期用途则针对高级测试。
分享到:
相关推荐
JUnit4
运行junit4所需jar包,包括junit-4.11.jar与 hamcrest-core-1.3.jar
java junit4 jar完整包,junit可用来项目的单元测试。
这是一个junit4测试的jar包,copy进去就可用
junit4学习文档,有实例,非常详细,不懂的可以参考
junit4教程(《Junit4初探》)
JUnit4基础文档
赠送jar包:powermock-module-junit4-2.0.9.jar; 赠送原API文档:powermock-module-junit4-2.0.9-javadoc.jar; 赠送源代码:powermock-module-junit4-2.0.9-sources.jar; 赠送Maven依赖信息文件:powermock-...
因 jdk5 中的新特性,JUnit4 也因此有了很大的改变。下面详细介绍 JUnit4 的使用方法,只是举个例子说明junit4 的使用
在修改JUnit之前很久TestNG 就已建立为一个基于注释的框架。事实上,是TestNG在Java编程中率先 实现了利用注释进行测试,这使它成为JUnit的有力竞争对手。本文还讨论TestNG不同于JUnit 4的一些特性,并提议采用一些...
JUnit4概述,在Eclipse中使用JUnit4进行单元测试(初级篇、中级篇、高级篇)
在 developerWorks 上面有一些关于 JUnit4 的文章,也有关于 JMock 的文章,但是结合这两项技术的文章基本上没有。本文就基于这两种技术,对单元测试做一个全面的阐述。本文的目的不光是介绍层面的文字,更侧重作者...
junit4 jar包 Java单元测试框架绿色免费版.zip
junit3.8 和junit4 api
Junit4使用方法
idea junitidea junitidea junitidea junitidea junitidea junit
单元测试Junit4 用于java测试开发
这个是junit4 的完整源代码,其中解压以后的文件中找到javadoc那个是文档。
JUnit 4 ppt 讲义
Junit4教程.pdf