背景
隨着科技的發展,業務做的也是越來越大,越來越複雜,所以導致我們的業務編碼也是越來越複雜,對於程序員和測試來說無疑是增加更多的測試難度,所以需要一個成熟的測試框架勢在必行,TestNG應該是程序員和測試人員一個比較好的選擇,這裏就不說在這個基礎上衍生的自動化測試框架了,只是說程序員怎麼藉助TestNG來更好的方便我們做單元測試,一次性搞定各種情況。
一、IDEA+SpringBoot+TestNG
1、依賴
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
<scope>test</scope>
</dependency>
2、IDEA下載插件
二、代碼演示
1、創建測試類
public class TeatNGTest {
@Test(groups = "test1")
@Parameters({"param1","param2"})
public void test1(String param1,String param2){
System.out.println("test1 ceshi");
System.out.println("param1="+param1+",param2="+param2);
}
@Test(groups = "test2")
@Parameters({"param1","param2"})
public void test2(String param1,String param2){
System.out.println("test2 ceshi");
System.out.println("param1="+param1+",param2="+param2);
}
@Test(groups = "test3")
@Parameters({"param1","param2"})
public void test3(String param1,String param2){
System.out.println("test3 ceshi");
System.out.println("param1="+param1+",param2="+param2);
}
}
2、點擊需要測試的類右鍵選擇Create TestNG XML
3、編輯TestNG.xml文件
三、配置文件
1、需要測試的類需要加上TestNG的註解
2、TestNG.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<!--分組對應測試方法上的分組,name屬性對應測試方法上定義的group名,
如果包含就是include,不包含就是exclude,如果添加分組了,下面的
methods就不需要了,直接通過分組來控制粒度,如果不需要分組就不需要groups
標籤,直接放開methods標籤,指定執行的方法,同時該可以傳簡單的參數,
但是複雜的參數不行,parameter標籤的參數與方法上的註解屬性相同,
如果有不同的案例,那就新建不同的test標籤-->
<groups>
<run>
<include name="test1"/>
<exclude name="test2"/>
<exclude name="test3"/>
</run>
</groups>
<test verbose="2" preserve-order="true"
name="測試用例1">
<parameter name="param1" value="1"/>
<parameter name="param2" value="2"/>
<classes>
<class name="測試類的全限定名">
<!--<methods>-->
<!--<include name="test1"/>-->
<!--<include name="test2"/>-->
<!--<include name="test3"/>-->
<!--</methods>-->
</class>
</classes>
</test>
<test verbose="2" preserve-order="true"
name="測試用例2">
<parameter name="param1" value="1"/>
<parameter name="param2" value="2"/>
<classes>
<class name="測試類的全限定名">
<!--<methods>-->
<!--<include name="test1"/>-->
<!--<include name="test2"/>-->
<!--<include name="test3"/>-->
<!--</methods>-->
</class>
</classes>
</test>
</suite>
四、執行
1、點擊testNG.xml,右鍵執行
2、結果
Connected to the target VM, address: '127.0.0.1:52363', transport: 'socket'
test1 ceshi
param1=1,param2=2
Disconnected from the target VM, address: '127.0.0.1:52363', transport: 'socket'
test1 ceshi
param1=1,param2=2
===============================================
All Test Suite
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0
===============================================
3、導出文件