JUnit4与TestNG对比

标签: junit4 testng | 发表时间:2013-12-29 13:16 | 作者:lucizhang
出处:http://www.iteye.com
最近构建自动化测试,用webdriver+ant+junit3,发现用例的运行顺序无法保证,具有相关性的功能只好写在一个用例中,网上资料说junit4可以控制用例执行顺序,还没实际操作过,今天发现一篇TestNG与Junit4对比的文章,对我们的自动化测试很有帮助,记录在此,以待后续研究。 原文链接:http://blog.sina.com.cn/s/blog_4592b96f0101gi73.html
特性或指标 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中要想进行多线程测试比较麻烦,需要其它模块。



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [junit4 testng] 推荐:

JUnit4与TestNG对比

- - 编程语言 - ITeye博客
最近构建自动化测试,用webdriver+ant+junit3,发现用例的运行顺序无法保证,具有相关性的功能只好写在一个用例中,网上资料说junit4可以控制用例执行顺序,还没实际操作过,今天发现一篇TestNG与Junit4对比的文章,对我们的自动化测试很有帮助,记录在此,以待后续研究. 原文链接:http://blog.sina.com.cn/s/blog_4592b96f0101gi73.html.

Testng + Webdriver 入门篇

- - 研发管理 - ITeye博客
转自:http://www.cnblogs.com/GGHHLL/archive/2013/06/07/3124121.html. 断断续续摸索了几个星期终于将这个入门篇成文了. 从Testng 官网 http://testng.org/ 都能找到这些资料. 首先安装Eclipse 的Testng 插件:这里 .

TestNG的参数化测试、共享线程池配置、参数默认值配置

- - CSDN博客研发管理推荐文章
在使用TestNG进行测试时,经常会使用到一些参数化配置,比如数据库、连接池、线程池数,. 使用TestNG的参数@Parameter注解进行自动化读取. 使用多线程的方式运行测试代码配置: 在''标签中配置data-provider-thread-count="20". // @Parameters注解内对应的参数名称和配置文件中的key必须是相同.