TESTNG&UNIT4对比

上一篇 / 下一篇  2011-03-15 10:11:14 / 个人分类:TestNG/Junit



特性或指标

TESTNG

JUINT4

1. 测试是否支持(Annotations)

YES

YES

2.框架依赖程度

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

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

3.灵活性

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

private,protected

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

支持Before,After方法

支持BeforeClassAfterClass

4.依赖性测试

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

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

5.失败和重运行

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

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

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

6.参数化测试

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

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

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

7测试分组

支持

不支持

8多线程测试

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

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

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




TAG:

 

评分:0

我来说两句

Open Toolbar