2015-10-20 38 views
0

中動態添加參數到@beforeclass我需要將參數添加到@BeforeClass方法與TestNG類。 我運行一些測試程序動態與此代碼:在TestNG

List<XmlSuite> suites = getXmlTestSuiteForUI(xmlName); 

TestNG testNG = new TestNG(); 

testNG.setXmlSuites(suites); 
testNG.setPreserveOrder(true); 
testNG.addListener(testListenerAdapter); 

testNG.run(); 

我如何添加參數到@BeforeClass方法?

Somethig像這樣,而不是test.setParameters像beforeclass.addParameters。

for (XmlSuite suite : suites){ 
    for(XmlTest test : suite.getTests()){ 
     test.setParameters(params); 
    } 
} 
+0

你提的問題不夠清楚。你的'@ BeforeClass'方法中是否已經有@參數?也許你應該給你一個測試的片段。 – juherr

+0

是的,我擁有它,但我無法訪問添加參數的方法。 –

回答

0

溶液被添加參數成套件。

for (XmlSuite suite : suites) { 
    suite.setParameters(parameters); 
} 

的Test.class

@BeforeClass 
@Parameters({"accountID"}) 
public void tearUp(String accountID) throws Exception { 
    super.tearUp(Integer.valueOf(accountID)); 
} 
+0

它也在工作。像測試或類上的'setParameters'一樣,這取決於你想要做什麼。例如,在套件上,您將無法使用不同的參數運行相同的測試。 – juherr

1

setParameters也在XmlClass上可用。

for (XmlSuite suite : suites) { 
    for(XmlTest test : suite.getTests()) { 
     for(XmlClass clazz : test.getXmlClasses()) { 
      clazz.setParameters(params); 
     } 
    } 
} 
+0

該類中的參數是由任何註釋標記的?哪裏? –