2013-04-02 49 views
1

我有一些測試依賴於來自另一個包的安裝組。 我的testng.xml看起來是這樣的:在eclipse中依賴運行單個TestNG測試

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="mysuite" verbose="1"> 
<test name="mytest"> 
    <classes> 
    <class name="path.to.setup.class"/> 
    <class name="path.to.test.class"/> 
</classes> 
</test> 
</suite> 

運行在Eclipse中的所有測試時,這是工作的罰款。

問題是當我嘗試從testClass執行單個測試時,這取決於安裝程序組。 我得到以下錯誤:DependencyMap :: Method「myMethod」取決於不存在的組「setup」。 有沒有簡單的方法來執行單個測試,而無需爲每個測試創建單獨的xml?

+0

那麼你可以在同一個班級中的第二個「設置」組中進行測試,你可以隨時複製並粘貼,然後將其刪除。 –

+0

顯然這會起作用,但它使得測試調試有點麻煩。 – Dooomer

+0

另一個機會是,創建一個AbstractTest類,其中包含所有「設置」方法,並將其與您的測試類進行子類化。我就是做這個的。 btw-安裝事宜你可以使用@ Before *註解。 –

回答

0

在我看來,最好的方法是擁有一個抽象超類的測試類,它可以完成所有的設置工作。這可以通過在超類的標準構造函數或者(更好的imo)中通過添加@ Before *註解方法來實現。使用@ Before *和@ After *方法,您可以自由選擇哪種方法應該與testng組相關,這取決於其他方法,錯誤/異常處理或拆卸。 如果你有類的具體設置的東西,你可以在類之前的@ Before *方法中依靠上級設置的執行。

+0

我稍後再添加一些樣本 –

相關問題