0
我運行這些TestNG
測試調用時TestNG的測試用例的優先次序,通過Java main
方法(感謝另一個帖子 - how to call testng.xml from java main method?)如何從Java main方法
public class MainTest { //main
public static void main(String[] args) {
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
List<String> suites = Lists.newArrayList();
suites.add("c:/AbcTests/xyztest.xml");
testng.setTestSuites(suites);
testng.run();
}
}
public class Test001 { //test
@Test(priority=1)
public void a1() {
System.out.println("In a1 run");
}
@Test(priority=2)
public void a2() {
System.out.println("In a2 run");
}
@Test(priority=3)
public void b1() {
System.out.println("In b1 run");
}
}
但是當我運行它,測試隨機挑選。
輸出:
In a2 run
In a1 run
In b1 run
從TestNG的運行時,它是好的。
當從Java main運行時,有沒有一種方法可以優先考慮TestNG中的測試?
-------編輯----------
謝謝tim-slifer。我看了一下這個xml。 它是: -
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Just Test" verbose="3" parallel="methods">
<test name="Smoke">
<classes>
<class name="test2.Test001" />
</classes>
</test>
</suite>
我除去平行= 「方法」。並將其更改爲
<suite name="Just Test" verbose="3">
現在工作正常。 我認爲這是錯誤的?這是對的嗎?
你能分享你的主要方法代碼嗎? –
我已經添加了主要方法 – Raj
你可以發佈你的'xyztest.xml'的內容嗎? –