TestNG依賴測試


有時,我們需要以特定順序調用測試用例中的方法,或者可能希望在方法之間共享一些數據和狀態。

此時需要用到依賴,TestNG支持這種依賴關系,支持在測試方法之間顯示依賴的聲明。

包括兩種依賴:方法依賴和組依賴

在@Test注解中使用屬性dependsOnMethods和dependsOnGroups來實現。

如果被依賴的方法執行失敗,則將跳過所有后續測試方法!!!

以下演示方法依賴:

package com.janson.depend;

import org.testng.Assert;
import org.testng.annotations.Test;

public class DependsOnMethodTest {
    @Test
    public void dependTest1() {
        //Assert.fail("error");
        System.out.println("dependTest1 運行!");
    }

    @Test(dependsOnMethods = {"dependTest1"})
    public void dependTest2() {
        System.out.println("dependTest2 運行!");
    }
}

在執行dependTest2()方法時會先執行dependTest1()方法,

如果dependTest1()方法執行失敗,dependTest2()方法將被忽略,不執行。

================================================================================================================

以下演示組依賴:

package com.janson.depend;

import org.testng.Assert;
import org.testng.annotations.Test;

public class DependsOnGroupsTest {

    @Test(groups = "login")
    public void dependGroupsTest1() {
        System.out.println("歡迎登錄");
    }

    @Test(groups = "charge")
    public void dependGroupsTest2() {
        Assert.fail("error...");
        System.out.println("你已成功充值");
    }

    @Test(dependsOnGroups = "login")
    public void dependGroupsTest3() {
        System.out.println("請您操作");
    }

    //同時依賴多個組,用{}
    @Test(dependsOnGroups = {"login","charge"})
    public void dependGroupsTest4() {
        System.out.println("請您選擇需要購買的產品");
    }

}

執行dependGroupsTest3()時,會依賴login組

執行dependGroupsTest4()時會同時依賴login和charge組

因為login組不會報錯,所以正常執行。而charge組執行報錯,所以導致dependGroupsTest4()方法不會執行!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM