我有一套具有與@BeforeSuite註解的設置方法,該套件之前運行測試。偶爾我需要單獨運行測試或者在一個班級中進行所有測試。有沒有辦法讓我的setUp方法在這些之前運行。TestNG:應該按方法或類的測試運行測試,調用@BeforeSuite方法?
我的理解是,TestNG的創建默認套件所以應該不會不管我如何運行測試,如果我有@BeforeSuite應該所有的測試之前運行註釋的方法。但是這對我不起作用。它只在我運行完整套件時才運行。
XML套件。如果我從這裏運行測試,它會起作用。 (右鍵單擊,選擇Run)
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="OvernightSuite">
<test name="Test Sequential" preserve-order="true" parallel="none">
<classes>
<class name="com.myComp.test.cases.setUpClass" />
<class name="com.com.myComp.test.cases.testClass1" />
<class name="com.com.myComp.test.cases.testClass2" />
</classes>
</test>
</suite>
建立一流
public class setUpClass{
@BeforeSuite
public void setUp() {
populateDataSources();
populateVariables();
}
@Test
public void datasourcesWereSetUpTest() {
boolean result = method.read();
assert(result);
}
}
一個測試類的。如果我在這裏運行,(突出顯示,右鍵單擊,選擇運行)beforeSuite不會被執行。
public class testClass1{
@Test
public void someTest() {
boolean result = method.read();
assert(result);
}
}
使用上述添加XML套件,其包括設置類所提出的方法的工作原理,如果我通過從XML套件中選擇一個測試類運行,但如果我從類本身的實際方法運行。有什麼建議,爲什麼?應該這樣工作嗎?這可能與我的IDE設置有關嗎? – ciffieM
我沒有完全明白你的問題。你能分享一下你如何在IDE中運行你的測試的截圖,並顯示包含你的測試類和'@ BeforeSuite'註釋方法的代碼嗎? –
我已經添加了額外的信息,問題 – ciffieM