你可以有一個名爲createData一個方法,你可以通過方法參數傳遞給它,這應該告訴你哪個測試方法,數據從該文件中獲取的數據提供者。維護測試方法到測試數據文件的映射。讓我知道這是否有幫助。 示例代碼:
import java.lang.reflect.Method;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class TestClass {
@DataProvider(name="dp")
public Object[][] dp(Method method)
{
if(method.getName().equalsIgnoreCase("test1"))
return new Object[][]{{"dp1"}};
else if(method.getName().equalsIgnoreCase("test2"))
return new Object[][]{{"dp2"}};
else
return new Object[][]{{"default"}};
}
@Test(dataProvider="dp")
public void test1(String str)
{
System.out.println(str);
}
@Test(dataProvider="dp")
public void test2(String str)
{
System.out.println(str);
}
}
輸出:
dp1
dp2
PASSED: test1("dp1")
PASSED: test2("dp2")
===============================================
Default test
Tests run: 2, Failures: 0, Skips: 0
===============================================
===============================================
Default suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================
編輯:添加的樣本代碼。
嗨Mrunal ..謝謝你的回覆..你能否請用例子來解釋一下。 – 2015-04-01 04:54:16
@ShwetaKhandewalePathak我已經添加了一個示例工作代碼。請通過它,讓我知道這是否有幫助。 – 2015-04-05 05:23:21
@halfer我是否可以知道需要解決的問題? – 2015-10-25 15:34:06