JUnit4与TestNG对比

最近构建自动化测试,用webdriver+ant+junit3,发现用例的运行顺序无法保证,具有相关性的功能只好写在一个用例中,网上资料说junit4可以控制用例执行顺序,还没实际操作过,今天发现一篇TestNG与Junit4对比的文章,对我们的自动化测试很有帮助,记录在此,以待后续研究。 原文链接:http://blog.sina.com.cn/s/blog_4592b96f0101gi73.html
[table]
|特性或指标|TestNG|Junit4|
|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中要想进行多线程测试比较麻烦,需要其它模块。|
[/table]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值