- 浏览: 78275 次
文章分类
最近构建自动化测试,用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中要想进行多线程测试比较麻烦,需要其它模块。 |
发表评论
-
testNG学习之超时设置和异常测试
2019-12-17 17:29 8851、设置测试方法的超时 ... -
testNG学习之参数化
2019-12-17 16:13 397TestNG的测试方法中可以传入参数,而参数的 ... -
testng控制测试用例执行顺序及并发测试
2019-12-14 19:09 11221、class的执行顺序 通过preserve- ... -
testNG依赖测试及设置多线程
2019-11-24 18:43 0https://www.cnblogs.com/janson0 ... -
testNG学习之分组测试和忽略测试
2019-11-24 18:18 398tesng教程:https://www.yiibai.com/ ... -
testNG标签范围及多suite配置
2019-11-24 17:44 865一、基本注解及其作用范围 1、testNG的基本注解标签: @ ... -
selenium借鉴
2017-04-06 16:41 0乙醇: http://www.cnblogs.com/nbkh ... -
selenium之元素定位
2016-05-19 18:33 1954原文:http://blog.sina.com.cn/s/bl ... -
sf-test
2015-10-10 15:57 0this is used for download somet ... -
官网自动化及性能
2014-11-06 16:42 0自动化测试 前端环境搭建 创建installed目录,nod ... -
selenium之By.cssSelector与By.xpath的区别
2014-10-10 18:37 23401、搜索路径中间的某个节点所在层级有多个该dom节点时,xpa ... -
junit一个测试方法测试多种数据
2014-08-17 17:50 2433有些方法参数有许多特殊值,或者说他的参数分为很多歌区域,为了简 ... -
selenium之cssSelector
2013-12-17 20:42 5652Selenium官网的Document里极 ... -
webdriver打开esb的monitor页面有时很慢,导致用例运行失败
2013-12-14 13:20 0需要搞清楚webdriver操作浏览器的原理 final ... -
selenium之xpath
2013-11-19 22:10 1629xpath的语法(转载自:ht ... -
Selenium Webdriver学习
2013-10-02 23:27 0一系列可借鉴的博客:http://blog.sina.com. ... -
Selenium RC工作原理
2013-10-02 22:06 0看了这个人的博客:http://blog.csdn.net/f ... -
webdriver对各种浏览器的支持
2013-09-20 20:22 36941、HtmlUnitDriver WebDriver包括一个基 ...
相关推荐
【追求代码质量:Junit4与TestNG的对比】 在软件开发中,代码质量的保证是至关重要的,而单元测试是确保代码质量的一种有效手段。本文主要探讨了两个流行的Java测试框架——JUnit 4和TestNG,它们都是用于编写和...
标题与描述均提到了"Testing-JUnit-TestNG",这明确指向了软件测试领域中的两个重要的测试框架:JUnit和TestNG。这两个框架在Java开发社区中被广泛使用,用于编写自动化测试用例,以确保代码质量和功能正确性。 ###...
- **TestNG**: TestNG是一个基于JUnit和NUnit思想设计的新一代测试框架,提供了更丰富的特性和灵活性,包括但不限于并行测试执行、灵活的依赖管理、更强大的参数化支持等。TestNG相比JUnit在测试控制、重复执行、...
JUnit4引入了注解,使得测试用例的编写更加直观。例如,`@Test`注解标记测试方法,`@Before`和`@After`注解分别用于设置和清理每个测试前后的环境。此外,`@Ignore`注解可以跳过不想执行的测试。 然而,JUnit在某些...
提供的离线安装包表明TestNG与Eclipse IDE有良好的集成。用户可以通过Eclipse的插件安装向导安装TestNG,便于编写、运行和调试测试代码。对于Eclipse 3.6及以上版本,TestNG 6.14.3应能无缝工作。 7. **压缩包内容...
#### 二、TestNG 与 JUnit 的对比 - **JUnit** 已经在单元测试领域取得了巨大的成功,而 **TestNG** 则是在 JUnit 的基础上进行了许多改进和创新。 - **更多的灵活性**:TestNG 支持更灵活的测试组织方式,比如测试...
4.1 容器内测试与容器外测试的对比 4.2 容器内测试 4.3 Java命名和目录接口(JNDI) 4.4 Java数据库连接(JDBC) 4.5 Java事务API(JTA) 4.6 Java消息服务(JMS) 4.7 Java持久API(JPA) 4.8 Enterprise JavaBeans...
2. **TestNG兼容性**:引入了`@FixMethodOrder`,使得测试方法可以按照指定顺序执行,这与TestNG的特性类似。 3. **假设(Assumptions)**:`Assume`类提供了假设条件,当某个假设不满足时,测试会跳过而不是失败,...
标题中的“最后还是选择了TestNG”表明这篇博客的作者在对比了多种测试框架后,最终决定采用TestNG作为其项目中的测试工具。TestNG是一款强大的、灵活的单元测试和集成测试框架,它提供了比JUnit更丰富的功能,如...
4. 可以与其他测试框架(如TestNG)集成,构建强大的自动化测试解决方案。 **Selenium缺点** 1. 学习曲线相对较陡,需要掌握编程和测试框架知识。 2. 对浏览器和操作系统版本的兼容性需持续关注。 3. 脚本维护工作...
5. **TestNG与JUnit的对比**:虽然这个项目主要基于JUnit,但理解TestNG也是一个补充。TestNG提供了更高级的功能,如并发测试、测试套件的分组和优先级,以及更丰富的异常处理。 6. **Test Profiles**:Spring Boot...
4.1 容器内测试与容器外测试的对比 4.2 容器内测试 4.3 Java命名和目录接口(JNDI) 4.4 Java数据库连接(JDBC) 4.5 Java事务API(JTA) 4.6 Java消息服务(JMS) 4.7 Java持久API(JPA) 4.8 Enterprise JavaBeans...
9. **TestNG与JUnit的对比**: 虽然JUnit在Java单元测试领域很流行,但TestNG提供了更多高级特性,如并发测试、更灵活的测试配置和更好的报告。然而,对于许多项目来说,JUnit4已经足够满足需求,并且因为其简单...
同时,结合使用其他测试框架,如 JUnit 或 TestNG,可以构建自动化测试套件,进一步提高测试效率。 总之,DBUNIT 是数据库测试的强大工具,尤其适合进行批量数据的对比测试,确保系统在大量数据操作后仍能保持正确...
它与JUnit、TestNG等流行的测试框架紧密集成,为开发者提供了一种评估单元测试充分性的方式。在软件开发过程中,代码覆盖率是衡量测试完整性的一个关键指标,确保代码的大部分逻辑至少被测试过一次。 Eclemma ...
10. **测试工具比较**:除了JUnit,还有TestNG等其他测试框架,TestNG提供了更丰富的功能,如并发测试和灵活的测试配置。 文档“java单元测试培训提纲.doc”可能涵盖了以上各个知识点的详细讲解,而“JAVA单元测试...
9. **测试与调试**:在开发过程中,单元测试(JUnit)和集成测试(TestNG)是确保代码质量的重要工具,同时,使用IDE的调试功能来查找和修复程序中的错误。 10. **版本控制**:为了团队协作和版本管理,开发者可能...
- TestNG:对比JUnit,理解TestNG的高级特性,如数据驱动测试、并发测试和测试报告生成。 4. **性能测试**: - JMeter:学习使用Apache JMeter进行压力和负载测试,包括创建测试计划、配置线程组、监听器和断言。...
3. 编写测试脚本:使用相应的测试框架(如JUnit、TestNG)和库(如RestAssured)实现测试逻辑。 4. 执行测试:运行测试脚本,记录结果。 5. 分析结果:对比预期结果和实际结果,定位问题。 6. 缺陷管理:跟踪和修复...