Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JUnit4测试套件_Java_Junit_Test Suite - Fatal编程技术网

Java JUnit4测试套件

Java JUnit4测试套件,java,junit,test-suite,Java,Junit,Test Suite,如何使用JUnit4创建测试套件 我看到的所有文档似乎都不适合我。如果我使用Eclipse向导,它不会给我选择我创建的任何测试类的选项。我认为TestSuite已经不受欢迎了。这可能是4.x之前的风格,但据我所知,现在不是这样 我只是注释我想要的测试,然后运行这个类。所有带注释的测试都将运行。我可能会使用Ant,但大多数时候我都让IntelliJ为我运行它们。我会创建一个TestSuite和invoke addTests。如果您想查看某个源代码,请尝试任何开源库,如hibernate或apach

如何使用JUnit4创建测试套件


我看到的所有文档似乎都不适合我。如果我使用Eclipse向导,它不会给我选择我创建的任何测试类的选项。

我认为TestSuite已经不受欢迎了。这可能是4.x之前的风格,但据我所知,现在不是这样


我只是注释我想要的测试,然后运行这个类。所有带注释的测试都将运行。我可能会使用Ant,但大多数时候我都让IntelliJ为我运行它们。

我会创建一个TestSuite和invoke addTests。如果您想查看某个源代码,请尝试任何开源库,如hibernate或apache中的某些东西,并在源代码的测试目录下查看测试套件…

您可以创建这样的套件。例如,AllTest套件看起来像这样

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

@RunWith(Suite.class)
@Suite.SuiteClasses({TestClass1.class, TestClass2.class})
public class TestSuite {
  //nothing
}
package my.package.tests;

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

public class AllTests {}
现在,您可以通过两种不同的方式运行此功能:

右键单击并在Eclipse中作为Junit测试运行 创建一个可运行的Java应用程序;Main class='org.junit.runner.JUnitCore'和Args='my.package.tests.AllTests' 从命令行运行:

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

以下是在eclipse中创建JUnit套件的步骤:

在eclipse“Java”透视图的“PackageExplorer”视图中, 在EclipseJava内部的包中选择单元测试 项目 右键单击任意一个选定的测试。 在弹出菜单中,选择新建、其他… 打开“Java”文件夹,然后打开“JUnit”文件夹 选择“JUnit测试套件”,然后选择“下一步”按钮 选择“完成”按钮 结果:创建了“AllTests.java”套件文件,并自动执行测试 包括 在eclipse中选择Run按钮 结果:运行套件中的所有测试 现在,您可以使用ANT、Jenkins或其他构建配置持续集成工具指向此套件文件。
版本信息:这是针对EclipseNeon和JUnit4的。在步骤6中选择“完成”之前,您也可以选择JUnit 3。

对于Eclipse 3.7 Indigo,测试套件向导现在支持JUnit 4,这将为CMDLine添加更多的VoteUps:我可能错了,但我认为当我们需要指定测试顺序时,TestSuite仍然很好,特别是在自动化集成测试中,测试更小的场景应该先于更复杂的场景。@duffymo我发现您的评论很有趣,因为到目前为止,我已经接受了关于将测试用例组织成测试套件的4.x之前的思路的指导。如果您有更多的测试、不同的功能区域/模块,“核心”测试和辅助/较慢/昂贵的非核心测试之间的区别——出于上述任何原因——您都可以将测试构造成一个测试套件。您可以在多个类中使用@SuiteClass注释,也可以在套件中嵌套套件。在3.x中组织它们的思路仍然完全有效,应该使用。你可以用和以前完全一样的方式来组织一切;您只需使用注释语法而不是TestSuite.suite。使用TestSuite而不是注释实际上没有任何好处,如果使用组织上等效的注释,您可以利用JUnit 4的所有增强功能?