2009-01-19 219 views
92

如何使用Junit4創建測試套件?Junit4測試套件

我見過的所有文檔似乎都不適合我。如果我使用eclipse嚮導,它不會給我一個選項來選擇我創建的任何測試類。

+4

使用Eclipse 3.7 Indigo,測試套件嚮導現在支持JUnit 4 – 2011-06-28 15:20:06

回答

139
import org.junit.runners.Suite; 
import org.junit.runner.RunWith; 

@RunWith(Suite.class) 
@Suite.SuiteClasses({TestClass1.class, TestClass2.class}) 
public class TestSuite { 
    //nothing 
} 
9

我認爲TestSuite已經不受青睞。這可能是4.x之前的風格,但現在並不如我所知。

我只是註釋我想要的測試,然後運行類。所有註釋的測試都運行。我可能會使用Ant,但大部分時間我都用IntelliJ爲我運行它們。

+11

我可能是錯的,但我認爲當我們需要指定測試順序時TestSuite仍然很好,特別是在測試小型場景的自動化集成測試中在更復雜的情況之前。 – bertie 2012-04-16 04:48:16

+0

@duffymo我覺得你的評論很有趣,因爲到目前爲止,我已經在4.x之前的教學思路中將組織測試用例納入測試套件 – Vatsala 2012-11-23 04:00:21

1

在我頭頂創建一個TestSuite並調用addTests。如果你想somesource看看嘗試任何開源的lib像Hibernate或者Apache的東西,取源的測試套件的測試目錄下看看...

61

您可以創建一套像這樣。例如,一個AllTest套件看起來像這樣。

package my.package.tests; 

@RunWith(Suite.class) 
@SuiteClasses({ 
    testMyService.class, 
    testMyBackend.class, 
    ... 
}) 

public class AllTests {} 

現在你可以在幾個不同的方式運行此:

  1. 單擊鼠標右鍵,在Eclipse作爲JUnit測試運行
  2. 創建一個可運行的Java應用程序; Main類 = 'org.junit.runner.JUnitCore' 和參數數量 = 'my.package.tests.AllTests'
  3. 從命令行運行:

    $ java -cp build/classes/:/usr/share/java/junit4.jar:/usr/share/java/hamcrest-core.jar org.junit.runner.JUnitCore my.package.tests.AllTests 
    
2

以下是步驟在Eclipse中創建一個JUnit套件:

  1. 在Eclipse的Java的角度來看的「包資源管理器」查看, 選擇你的單元測試( s)在他們的軟件包內,日蝕java 項目中。
  2. 右鍵單擊任何一個選定的測試。
  3. 在彈出菜單中,選擇新建,其他...
  4. 打開「Java的文件夾,然後打開」JUnit的文件夾
  5. 選擇「JUnit測試套件」,然後選擇「下一步」按鈕
  6. 選擇按鈕「完成」
  7. 結果:「AllTests.java」套件文件被創建,以測試自動 包括
  8. 在Eclipse中選擇運行按鈕
  9. 結果:套件運行所有測試
  10. 您現在可以使用ANT,Jenkins或其他構建配置持續集成工具指向該套件文件。

版本信息:這是用於eclipse Neon和JUnit 4.您也可以在步驟6中選擇「完成」之前選擇JUnit 3。