2
我在這裏看到類似的問題,但似乎沒有解決問題。 我有下面的代碼;TestNg使用dependsOnMethods和優先級違反優先
@Test(priority=2)
public void increaseQty(){
System.out.println("in increase qty");}
@Test(priority=2,dependsOnMethods={"increaseQty"})
public void decreaseQty(){
System.out.println("in decrease qty");}
@Test(priority=3)
public void removeFromCart() throws Exception{
System.out.println("remove qty");}
@Test(priority=3,dependsOnMethods={"removeFromCart"})
public void emptyCart() throws InterruptedException{
System.out.println("empty Cart");}
預期的運行順序是
increaseQty
decreaseQty
removeFromCart
emptyCart
但實際序列
increaseQty
removeFromcart
decreaseQty
emptyCart
我無法理解爲什麼它不按指定順序。 在我看來,似乎它首先運行的獨立方法,然後是依賴性,而不考慮優先級,但在文檔的任何地方都沒有提到這種行爲。我應該怎麼做才能使它按照所需的順序運行
我發現這個答案正確kindly標記它其他的任何差異讓我們知道...謝謝 – 2014-11-24 13:27:02
你的答案解決了這個問題,但根據我的理解,在您的測試中添加不需要的依賴關係不是一個最佳做法。如果組中有任何方法失敗,那麼其餘的將被跳過,我不想要 – 2014-11-25 06:09:45
另一種方式,你可以實現它是通過在你的testng.xml文件中添加方法名,以便你希望它們執行..就像我在回答中編輯的方式,或者你可以按照T1_increaseQty,T2_decreaseQty等順序命名你的測試。據我注意到,TestNg在按字母順序命名測試的基礎上執行。 – 2014-11-25 06:49:26