2013-02-26 149 views
0

從歷史上看,我總是寫我的單元測試是這樣的:運行JUnit測試套件在Eclipse

public void WidgetTest { 
    @Test 
    public void test_whatever() { 
     // Given... 

     // When... 

     // Then... 
    } 
} 

這讓我右鍵單擊Eclipse和我的測試文件Run As >> JUnit,並測試1特別測試,直接從Eclipse內部。然後,在執行本地(基於Ant的)構建時,我配置了一個<junit> Ant任務,以立即運行我所有的src/test/java測試。

我現在正在尋找一種介於兩者之間的解決方案。也就是說,只需單擊一個按鈕,就可以一次性從Eclipse內部運行所有測試類。一位同事建議Junit有一個「測試套件」的概念,我可以將所有測試類都附加到這個測試套上,但看起來這個測試套件是某種我不想包含的JAR /工具我的項目。

所以我問:我怎麼能定義這樣一個「測試套件」,包括我所有的測試類,並從Eclipse內部一舉全部運行它們?提前致謝。

+0

看看這個問題http://stackoverflow.com/questions/457276/junit4-test-suites ...當你創建你的套件並把所有的測試類放入它中後,你可以用右鍵'點擊'和'作爲junit測試運行' – A4L 2013-02-26 13:31:28

回答

9

您可以在Eclipse中右鍵單擊某個項目或包,然後選擇「Run As-> JUnit Test」,以運行該項目或包中的所有測試。除非您只想運行測試的子集,否則不需要測試套件。

+0

這對我來說是最乾淨的方式。 TestSuite並不像它那樣有用。在某些項目中(例如Ant + JUNIT 3.X)它可能還是有意義的,但在其他一些項目(maven + JUNIT 4)中卻沒有用處。從Eclipse開始,Perception解決方案在任何情況下都可以。 – 2013-02-26 13:35:22

+0

感謝@Perception +1 - 請在kolja TM的答案下看到我的評論 - 我對你有同樣的問題!再次感謝! – IAmYourFaja 2013-02-26 13:49:32

+0

@DirtyMikeAndTheBoys - np,是的,它有效地掃描你的資源(項目,包等),用'@ Test'註解的方法,然後用嵌入式jUnit插件運行它們。 – Perception 2013-02-26 13:53:01

1

您是否嘗試過右鍵單擊您的項目並選擇Run as - > JUnit test?這將運行項目中的所有Unittests。

+1

Thanks @kolja TM(+1) - 它如何知道哪些是單元測試?它只是掃描'@ Test'方法嗎?再次感謝! – IAmYourFaja 2013-02-26 13:49:06