前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TestNG排名第一的测试框架

TestNG排名第一的测试框架

作者头像
dongfanger
发布2021-12-20 19:55:40
6390
发布2021-12-20 19:55:40
举报
文章被收录于专栏:dongfangerdongfanger

TestNG是Test Next Generation的缩写,如果说在测试界TestNG是第一测试框架,那么很难有第二个测试框架能跟它一比高下。在Java自动化领域,TestNG更是已经成为行业标配了。TestNG无人不知无人不晓,但是对它有深入了解的,还是比较少的。本系列文章就跟随着官方文档的步伐,由浅入深地对TestNG进行全方面的学习。

TestNG的灵感来自于JUnit和NUnit,在它们基础上增加了很多很牛的功能,比如说:

  • 注解。
  • 多线程,比如所有方法都在各自线程中,一个测试类一个线程等。
  • 验证代码是否多线程安全。
  • 灵活的测试配置。
  • 支持数据驱动(@DataProvider)。
  • 支持参数化。
  • 强大的执行机制(不需要TestSuite)。
  • 能跟各种工具结合(比如IDEA、Maven等)。
  • 内嵌BeanShell。
  • 提供运行时和日志的JDK函数(不需要添加dependencies)。
  • 提供应用服务器测试依赖的方法。

一句话形容就是,TestNG强大到能覆盖所有测试类型:单元测试、功能测试、端到端测试、集成测试等等等。

万物皆可由TestNG测试。

一个简单的示例如下:

代码语言:javascript
复制
package example1;
 
import org.testng.annotations.*;
 
public class SimpleTest {
 
 @BeforeClass
 public void setUp() {
   // code that will be invoked when this test is instantiated
 }
 
 @Test(groups = { "fast" })
 public void aFastTest() {
   System.out.println("Fast test");
 }
 
 @Test(groups = { "slow" })
 public void aSlowTest() {
    System.out.println("Slow test");
 }
 
}
  • setUp()会在测试类创建后,测试方法执行前运行。
  • 测试方法名字可以任意的,TestNG通过@Test注解来标识。
  • 可以把测试方法按group分组。

然后使用xml来配置运行策略:

代码语言:javascript
复制
<project default="test">
 
 <path id="cp">
   <pathelement location="lib/testng-testng-5.13.1.jar"/>
   <pathelement location="build"/>
 </path>
 
 <taskdef name="testng" classpathref="cp"
          classname="org.testng.TestNGAntTask" />
 
 <target name="test">
   <testng classpathref="cp" groups="fast">
     <classfileset dir="build" includes="example1/*.class"/>
   </testng>
 </target>
 
</project>

使用ant调用:

代码语言:javascript
复制
c:> ant
Buildfile: build.xml
 
test:
[testng] Fast test
[testng] ===============================================
[testng] Suite for Command line test
[testng] Total tests run: 1, Failures: 0, Skips: 0
[testng] ===============================================
 
 
BUILD SUCCESSFUL
Total time: 4 seconds

最后就能看报告了:

代码语言:javascript
复制
start test-output\index.html (on Windows)

更多内容请关注后续文章:

image-20211216212102013
image-20211216212102013

参考资料: https://testng.org/doc/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档