2012-05-15 87 views
3

最近運行我的測試需要相當長的時間(大約1-2分鐘),而我通常會在等待它們完成時被某些東西甩掉。當所有JUnit測試運行時的Eclipse通知

當所有測試完成後,有什麼方法可以讓Eclipse給我一個通知(例如,播放聲音或其他東西)?我查看了JUnit運行器運行配置中的所有可能的設置,但沒有找到任何我可以使用的設置。

創建一個名爲xxx.XLastTest,沒有工作可能是一個解決方法測試,但我覺得有點醜(它不會,如果測試同時運行工作,我甚至不希望看到它在我們的CI )。

任何提示,非常感謝。

回答

4

沒有任何內置的通知選項,但它是很容易寫一個插件自己來做。請參閱TestRunListener的文檔。

Here's an example類似的東西,但由於沒有提供更新站點,因此將其安裝到Eclipse實例中將很困難。

+0

+1爲好主意 –

+0

功能請求:https://bugs.eclipse.org/bugs/show_bug.cgi?id = 496003 –

2

您可以運行測試套件並最終獲得通知。在CI服務器上,不要運行該測試套件,但所有其他測試「獨立」。

@RunWith(Suite.class) 
@SuiteClasses({ Test1.class, Test2.class }) 
public class AllTests { 
    @AfterClass 
    public static void notifySleepyDeveloper() { 
     JOptionPane.showConfirmDialog(null, "Tests are finished", "Test Suite", JOptionPane.PLAIN_MESSAGE); 
    } 
} 
+0

是的,那是我的第一個想法。缺點是我有~70個測試類,我不想枚舉它們,也不想不斷更新'@ SuiteClasses'定義(我相信我會忘記它)。 – rlegendi

+0

我覺得你的痛苦;-) ...也許這有助於:http://burtbeckwith.com/blog/?p=52 –

+0

嗯,謝謝,我們來看看。大概我可以用反射做點什麼...... – rlegendi

相關問題