前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何运行TestNG

如何运行TestNG

作者头像
dongfanger
发布2022-01-05 13:53:03
1.2K0
发布2022-01-05 13:53:03
举报
文章被收录于专栏:dongfangerdongfanger

大家好,我是刚哥。

本文将介绍两种运行TestNG的方式:

  1. IDEA
  2. 命令行

IDEA

IDEA配置TestNG可以参考我之前的这篇文章《2021年搭建Java环境最快办法》--添加TestNG

在IDEA中运行TestNG第①种点击方法或类前面的小箭头:

image-20211230205637704
image-20211230205637704

第②在方法或类内部点击右键:

image-20211230205734837
image-20211230205734837
image-20211230205752151
image-20211230205752151

第③种方式是使用testng.xml,IDEA可以右键testng.xml来运行,在文件名和文件内部点击均可:

image-20211230212649756
image-20211230212649756

testng.xml支持很多种配置,比如配置测试类:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
  
<suite name="Suite1" verbose="1" >
  <test name="Nopackage" >
    <classes>
       <class name="NoPackageTest" />
    </classes>
  </test>
 
  <test name="Regression1">
    <classes>
      <class name="test.sample.ParameterSample"/>
      <class name="test.sample.ParameterTest"/>
    </classes>
  </test>
</suite>

配置测试包:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
 
<suite name="Suite1" verbose="1" >
  <test name="Regression1"   >
    <packages>
      <package name="test.sample" />
   </packages>
 </test>
</suite>

配置组和方法:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
 
<suite name="Suite1" verbose="1" >
  <test name="Regression1">
    <groups>
      <run>
        <exclude name="brokenTests"  />
        <include name="checkinTests"  />
      </run>
    </groups>

    <classes>
      <class name="test.IndividualMethodsTest">
        <methods>
          <include name="testMethod" />
        </methods>
      </class>
    </classes>
  </test>
</suite>

默认TestNG会按xml顺序执行,可以设置 preserve-order为false变成随机顺序:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
 
<suite name="Suite1" verbose="1" >
  <test name="Regression1" preserve-order="false">
    <classes>

      <class name="test.Test1">
        <methods>
          <include name="m1" />
          <include name="m2" />
        </methods>
      </class>

      <class name="test.Test2" />

    </classes>
  </test>
</suite>

命令行

使用以下命令执行TestNG:

代码语言:javascript
复制
java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

这在持续集成中很有用。但这是官方给的命令,实际调用是调不通的,可以借助Maven来实现

先在pom.xml添加:

代码语言:javascript
复制
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <suiteXmlFiles>
                    <suiteXmlFile>testng.xml</suiteXmlFile>
                </suiteXmlFiles>
            </configuration>
        </plugin>
    </plugins>
</build>

然后执行mvn clean test命令就行啦。

参考资料: https://testng.org/doc/documentation-main.html

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • IDEA
  • 命令行
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档