2009-01-19 144 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。