1
我對此很陌生,信息未包含在TestNG文檔中,如果有人能幫助我,我只想了解幾件事情。將參數傳遞給testNG提供者
@DataProvider(name="test1")
public Object[][] provideTestParam(ITestContext context){
String testParam = context.getCurrentXmlTest().getParameter(test_param);
return new Object[][]{{ testParam }};
}
@Test(dataProvider="test1")
public void testData(String data){
//...
}
有誰知道什麼是
test_param
?它是一個文件名,一個方法testng.xml文件中的一些參數?我看着javadoc的
ITestContext
,我不清楚getParameter
是如何工作的。它是否從數據來自的xml文件中獲取單個哈希映射?或者它是否會從xml文件中獲取數據來自的所有關鍵值對?我想要做的就是將一個xml文件存儲在我的項目中,並使用xml文件中的數據。將其提供給數據提供者並運行我的測試。有沒有另一種方法來做到這一點?
可以
getParameter
從testng.xml中獲取值<test>
節點或<class>
節點?
不,在文檔中找不到「ITestContext」一詞,也沒有「測試環境」一詞。 – djangofan
我在http://testng.org/doc/documentation-main.html中發現了五個提及,當然,還有Javadoc和示例。 –
我很榮幸您的幫助塞德里克。你是對的,我很高興我評論,因爲現在我發現了這一點:「任何\ @Before和\ @After方法可以聲明XmlTest類型的參數,其中包含當前的標記。」 。難以置信!另外,我只是不太明白文檔中的這句話:「TestNG允許您在方法中聲明其他參數。」他們提供的例子非常含糊。我最好的猜測是他們說我的測試方法可能看起來像這樣:void testIt(XmlTest thisTest)。這聽起來是對的嗎? –
djangofan