软件测试工具之谈谈单元测试之(四):测试工具 TestNG
白羽 2018-09-13 来源 :网络 阅读 1222 评论 0

摘要:本文将带你了解软件测试工具之谈谈单元测试之(四):测试工具 TestNG,希望本文对大家学测试工具有所帮助。

        本文将带你了解软件测试工具之谈谈单元测试之(四):测试工具 TestNG,希望本文对大家学测试工具有所帮助。


那是因为,TestNG 是在 JUnit 3 之后出来了,而 JUnit 4 是在 TestNG 推出之后,综合 JUnit 3 的优点,并且借鉴了 TestNG 的优势,才推出的。但是,考虑到,JUnit 3 、4 都是 JUnit 系列的,所以就放到一块了,而没有把他们分开。所以,大家知道这里的关系就好了。


简介

TestNG是一个用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由多个类多个包甚至多个外部框架组成的整个系统,例如应用服务器)。


步骤

编写测试的业务逻辑并在代码中插入 TestNG Annotation将测试信息添加到 testng.xml 文件或者 build.xml 中运行 TestNG



一些概念

suite(套件)由 xml 文件描述,它包含一个或多个测试并被定义为  标签。

test(测试)由  描述,并包含一个或者多个 TestNG 类。

class(类)由一个或多个方法组成。




注解

@BeforeSuite被注解的方法,会在当前 suite 中所有测试方法执行之前被调用。

@AfterSuite被注解的方法,会在当前 suite 中所有测试方法执行之后被调用。

@BeforeTest被注解的方法,会在测试(原文就是测试,不是测试方法)运行之前被调用。

@AfterTest被注解的方法,会在测试(原文就是测试,不是测试方法)运行之后被调用。

@BeforeGroups被注解的方法,会在执行组列表中之前被调用。这个方法会在每个组中第一次测试方法调用之前被调用。

@AfterGroups被注解的方法,会在执行组列表中之后被调用。这个方法会在每个组中最后一个测试方法调用之后被调用。

@BeforeClass被注解的方法,会在当前类第一个测试方法运行之前被调用。

@AfterClass被注解的方法,会在当前类所有测试方法运行之后被调用。

@BeforeMethod被注解的方法,会在运行每个测试方法之前被调用。

@AfterMethod被注解的方法,会在每个测试方法运行之后被调用 。




配置

调用 TestNG 有几种不同的方法,使用 testng.xml 文件,使用 ant ,从命令行敲命令。当然,使用 Java IDE的话,可以不用写 testng.xml 文件,不过不代表用不到,只不过是 IDE 会自动生成一个 testng.xml 文件,不用你再手动的写了。 如果从学习的角度来看,testng.xml 文件的配置,我们还是要学的,最起码要了解它是怎么配置的,以便看到它了不会感到陌生。

testng.xml 文件可以到 testng 的官网去 copy ,官网介绍的很详细(如果你英文还说的过去,建议去官网)。

[html] view plain copy print?                                                                              


  


当然,你还可以指定包名替代类名,就像这样:

[html] view plain copy print?                                  



不止这些,你同样可以指定包含或不包含的组和方法,Such as:

[html] view plain copy print?                                                                                          

你同样可以在 testng.xml 中定义新的组,指定属性的额外详细情况,比如:是否并行运行测试,使用多少线程,是否运行 JUnit 测试,等等。。。

至于,运行 TestNG 的那些命令,官网上已经说的很清楚了,如果你需要中文的资料,那么我不会告诉你去找 Goo哥 或者 Baidu,这里就不再赘述了。需要注意一点的是,TestNG 需要的 JDK 版本是 1.5 以上的。为什么这样,想想 JDK 1.5 的新特性,我想你已经知道了,这里就不再废话了。


生命周期

使用 TestNG,不仅可以指定测试方法,还可以用专门的标注 @Configuration指定类中的其他特定方法,这些方法叫做 配置方法。配置方法有四种类型:

beforeTestClass 方法在类实例化之后,但是在测试方法运行之前执行。afterTestClass 方法在类中的所有测试方法执行之后执行。beforeTestMethod 方法在类中的任何测试方法执行之前执行。afterTestMethod 方法在类中的每个测试方法执行之后执行。






  

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程