利器 | TestNG 与 Junit 对比,测试框架如何选择?

TestNG 和 Junit 作为两大流行的测试框架,有哪些区别?各有哪些优缺点?该如何选择呢?这里简要总结下:

  1. Junit 更适合隔离性比较强的单元测试;

  2. TestNG 是比 Junit 涵盖功能更全面的测试框架,具有参数化和分组的特性,可以做数据驱动;

  3. TestNG 被设计应用覆盖所有的测试,单元、功能、端到端、集成测试等;

  4. TestNG 依赖测试时对于依赖方法失败后的用例标记为跳过,而不是像 Junit 标记为失败,减少失败原因排查成本;

  5. TestNG 可以针对失败用例回归测试,增加测试针对性和效率,而 Junit 需要将所有测试用例重新执行;

  6. TestNG 更适合测试工程师需要的大范围的复杂的集成测试;

注:以上对比指的是 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

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值