【TestNG】——自動化測試框架

背景

隨着科技的發展,業務做的也是越來越大,越來越複雜,所以導致我們的業務編碼也是越來越複雜,對於程序員和測試來說無疑是增加更多的測試難度,所以需要一個成熟的測試框架勢在必行,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、導出文件

參考文章:https://www.yiibai.com/testng/basic-annotations.html

發佈了163 篇原創文章 · 獲贊 49 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章