如何運行TestNG

大家好,我是剛哥。

本文將介紹兩種運行TestNG的方式:

  1. IDEA
  2. 命令行

IDEA

IDEA配置TestNG可以參考我之前的這篇文章《2021年搭建Java環境最快辦法》--添加TestNG

在IDEA中運行TestNG第①種點擊方法或類前面的小箭頭:

image-20211230205637704

第②在方法或類內部點擊右鍵:

image-20211230205734837

image-20211230205752151

第③種方式是使用testng.xml,IDEA可以右鍵testng.xml來運行,在文件名和文件內部點擊均可:

image-20211230212649756

testng.xml支持很多種配置,比如配置測試類:

<!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>

配置測試包:

<!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>

配置組和方法:

<!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變成隨機順序:

<!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:

java org.testng.TestNG testng1.xml [testng2.xml testng3.xml ...]

這在持續集成中很有用。但這是官方給的命令,實際調用是調不通的,可以藉助Maven來實現

先在pom.xml添加:

<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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章