五 TestNG 定製依賴關係

2021-08-20 18:29:53 字數 2118 閱讀 4567

前面說了,在同乙個類內,testng預設是按照方法名首字母公升序執行方法。這種方式雖然寫起來會方便,個人覺得太過隱晦,對新手也不是很友好。

我們可以在@test註解的testng方法加上dependsonmethods = 或dependsongroups= 來新增依賴關係,當然這些方法名和組名也是支援正規表示式的。

下面的**使用了dependsonmethods屬性來指定了所依賴的方法。依賴組的寫法就留給讀者自己去實踐辣。

public class testdependency )

public void secondmethod()

@test

public void firstmethod()

}

執行結果:

testng提供了兩種依賴機制:

1.強依賴關係:所有的被依賴的方法必須被成功執行,才會執行到後續的方法。哪怕只有乙個前置方法執行失敗了,有依賴關

系的後置方法都會被跳過。既有先後順序關係,也有決定關係。

下面的**是強依賴關係,由於failmethod會執行失敗,所以skipmethod會被跳過。

import org.testng.annotations.test;

public class testdependency

@test(dependsonmethods = )

public void skipmethod1()

@test(dependsonmethods = )

public void skipmethod2()

}

執行可以看到控制台的輸出:

2.弱依賴關係:不論前置方法是否成功執行,有依賴的後置方法都會得到執行,他們之間僅僅有前後順序關係,前者的成功與否並不決定後者是否執行。弱依賴關係,需要在testng方法註解上,加乙個alwaysrun=true屬性。我們看下下面的強弱依賴對比

import org.testng.annotations.test;

public class testdependency

@test(dependsonmethods = , alwaysrun=true)

public void skipmethod1()

@test(dependsonmethods = )

public void skipmethod2()

}

控制台輸出:

我們還可以在xml檔案中使用和標籤來定製這些依賴關係。下面是乙個使用xml定製依賴多個組的示例。

<?xml version="1.0" encoding="utf-8"?>

import org.testng.annotations.test;

public class testdependencyinxml )

public void bbbgroup1()

@test(groups=)

public void aaagroup1()

@test(groups=)

public void aaagroup2()

@test(groups=)

public void bbbgroup2()

@test(groups=)

public void dependonothers()

}

控制台輸出:

testng依賴測試

測試方法b的執行,依賴測試方法a,就叫做依賴測試。分為硬依賴測試和軟依賴測試。測試方法a先執行,若a執行成功,則b再執行。若a執行失敗,則b不執行。如何使用?test dependsonmethods alwaysrun true 測試方法a先執行,無論a是否執行成功,a執行後b都會執行。如何使用?...

十一 TestNG依賴測試

測試的時候有可能要用到其他測試結果 是否成功 來執行這個測試。就需要用到測試和測試之間傳遞引數 testng叫做 依賴測試。testng依賴測試特點 1 testng允許指定依賴關係,如果依賴關係失敗了,則跳過後面的所有方法.2 如果使用依賴測試則會在執行該方法時先執行依賴的方法,後執行本方法。在 ...

TestNg 7 依賴測試

我本個測試方法執行的時候,依賴於其他的方法。用到關鍵字dependsonmethods 依賴於那個方法 也有依賴於哪個組 dependsongroups 看以下的一段 package com.course.testng import org.testng.annotations.test publi...