由於庫升級(easymock 2.2 - > 2.4),我們正在進行測試,已開始鎖定。我想在單獨的測試中抽出一些時間,全部都是。這個想法是確定鎖定的測試 - 我們正在猜測 - 並修復它們。TestNG中的計時測試
這是可能的,最好在整個套件級別上?我們有400個測試,這樣做每種方法甚至每個類都會很耗時。
由於庫升級(easymock 2.2 - > 2.4),我們正在進行測試,已開始鎖定。我想在單獨的測試中抽出一些時間,全部都是。這個想法是確定鎖定的測試 - 我們正在猜測 - 並修復它們。TestNG中的計時測試
這是可能的,最好在整個套件級別上?我們有400個測試,這樣做每種方法甚至每個類都會很耗時。
suite tag可以具有超時屬性。這個超時將被用作所有測試方法的默認值。
此默認超時值可以在每個測試方法的基礎上被覆蓋。
如果套件級別證明是錯誤的方法(即「網絡太寬」,因爲最終標記了超時限制的方法太多),您需要定義一個自定義的IAnnotationTransformer,對於每個不可識別的功能,將使您有機會修改@Test註釋(例如,使用setTimout() method)。
(setTimout(0)
取消超時指令)
你可以做一個搜索和替換爲「@測試」與「@Test(超時=)」 應該努力找到鎖定了測試,可以之後被撤消。
很晚,但是:運行jstack -l <PID>
會給你堆棧轉儲,你可以檢查它來查找哪些調用被卡住。您可能想要抽樣幾次以確定它們卡住了。
我們使用maven,所以我必須在surefire插件上找到相關設置。不幸的是,它並沒有告訴我們哪個測試正在進行?!哦,那會是另外一個問題。 – sblundy 2008-12-08 22:32:06
您還可以在 下將超時屬性添加到 元素。這與在 元素內包含/排除可以允許您更細粒度的控制。 –
Saish
2012-07-19 15:05:09