java有好几个测试框架,junit是比较常见的一个,spring系列默认的测试框架就是junit。testng也是java的一个测试框架,与junit功能类似,义卖活动 但支持更多的注解与功能。
我们常使用junit做单元测试,而在做自动化测试时,更偏向于选择testng。
maven工程中,添加testng依赖包即可,可自行选择版本:
testng的注解与junit类似,但会更丰富,更细致:
对比junit,testng最显眼的区别就是多了一个配置文件。
有了这个配置文件的存在,可以更方便的管理测试案例的执行。
在项目根目录下,新增testng.xml格式的配置文件,文件名任意,配置文件可以有多个。
maven工程在pom文件中,指定配置文件路径后,可以直接运行配置文件:
testng配置的内容并不复杂,这里的配置并不是testng启动的依赖,而是对测试案例的执行方式进行划分。
一个配置文件,有且只能有一个测试套件。suit标签的常见属性如下,其中name为强制填写的,会展示在最终的测试报告中。
按照groups组进行划分(使用了@test (groups={“group1”})进行注解的),include标签标注的组名会被执行,争做时代先锋被exclude标注的组则不会被执行:
按照包、类、方法三个层级划分:
包:
类:
方法:
完整配置示例:
配置完成后,可以直接运行配置文件,以执行测试案例。也可以通过maven-lifecycle的test命令执行。
预期异常测试通过在@test注解后加入预期的exception来进行添加,示例如下:
有时候我们写的用例没准备好,或者该次测试不想运行此用例,那么删掉显然不明智,那么就可以通过注解@test(enabled = fal)
来将其忽略掉,此用例就不会运行了,如下范例:
“超时”表示如果单元测试花费的时间超过指定的毫秒数,那么testn学模特的最佳年龄g将会中止它并将其标记为失败。此项常用于性能测试。如下为一个范例:
代码如下:
xml配置如下:
此处需要注意,传参的类型必须要一致,且带有@dataprovider注解的函数返回的必然是object[][],此处需要注意。当提供多组数据时,测试案例则会执行相应次数。
有时候,我们需要按顺序来调用测试用例,那么测试用例之间就存在依赖关系。 testng支持测试用例之间的依赖,使用dependonmethods和dependsongroups来实现依赖测试。如下案例,testnglearn1()案例失败时,testnglearn2()案例则不会执行:
使用maven执行完测试用例后,会在 工程根目录\target\surefire-reports 目录下,生成测试报告文件,点击index.html文件则可以在浏览器中查看。
这里的报告比较简单,不够美观。我们可以结合allure插件,生成更美观的测试报告。
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!
本文发布于:2023-04-05 20:18:44,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/4d114cda1b23b9a4ae3ecb70a35d07e6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java优秀测试框架TestNG详解.doc
本文 PDF 下载地址:Java优秀测试框架TestNG详解.pdf
留言与评论(共有 0 条评论) |