测试开辟 | TestNG 与 Junit 对比,测试框架怎样选择?

数据人与超自然意识  论坛元老 | 2024-6-24 14:54:52 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1780|帖子 1780|积分 5340

TestNG 和 Junit 作为两大盛行的测试框架,有哪些区别?各有哪些优缺点?该怎样选择呢?这里简要总结下:
  
  1. Junit 更得当隔离性比较强的单元测试;
  2. TestNG 是比 Junit 涵盖功能更全面的测试框架,具有参数化和分组的特性,可以做数据驱动;
  3. TestNG 被计划应用覆盖所有的测试,单元、功能、端到端、集成测试等;
  4. TestNG 依赖测试时对于依赖方法失败后的用例标记为跳过,而不是像 Junit 标记为失败,淘汰失败原因排查成本;
  5. TestNG 可以针对失败用例回归测试,增加测试针对性和效率,而 Junit 需要将所有测试用例重新实行;
  6. TestNG 更得当测试工程师需要的大范围的复杂的集成测试;
  
  <blockquote class="kdocs-blockquote" style="text-align:left;">   注:以上对比指的是 TestNG 和 Junit4 版本的对比,最新的 Junit5 框架已经完善了功能特性,也涵盖了 TestNG 所包罗的功能,如果选择 Junit 框架,建议直接选用 Junit5,Junit5 还在推广遍及中;   
   
   具体可参考《Junit5简介、构成、新特性及根本利用-常用注解、套件实行》   

  
---Junit与TestNG的注解区别---

  

  

  
项目测试实操演练

              
           
  下面通过项目实操解说二者区别。做项目测试之前,需要先添加 maven 依赖,如下图所示:
              
           
  1.根本测试
  
  Junit和TestNG对于测试方法的标注都是@Test,别的在方法实行前后加上@BeforeMethod、@AfterMethod
  

  测试结果:
              
           由测试结果可看到在每个测试用例实行前都会先实行@BeforeMethod注解的方法,之后都会实行@AfterMethod注解的方法
  
  2.@BeforeClass和@AfterClass
  
  在测试类运行之前运行@BeforeClass和@AfterClass
              
           
测试结果:

  

  
由测试结果可以看出在测试类实行前后会先后实行一次被@BeforeClass和@AfterClass注解的方法

  

  3.套件测试
  
  
TestNG的套件管理有点“特殊”,它是以一个xml文件作为统一配置文件的,一样平常会定名为testNG.xml,实际上文件的定名随意,you happy just ok!

  
      
  • 实行时通过运行xml文件

  
      
  • 最根本的套件管理规则:suite->test->classes->class

  
      
  • 同一个test下的测试类看做是一个整体,此中的注解对整个test整体都是见效的

  
下面看实操演示,当前有3个测试类SuiteTest1、SuiteTest2和SuiteTestConfig

              
           
在resource下创建套件配置文件testNGSuite.xml


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

数据人与超自然意识

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表