加载中…
正文 字体大小:

TESTNG与JUNIT4对比

(2013-02-16 21:35:11)
标签:

testng

junit

it

分类: other

特性或指标

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

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有