junit测试套件

时间:2010-03-01 14:11:51

标签: java unit-testing junit

我有一个脚本(test.bat),允许我通过命令行启动一个java测试: -java -cp()org.junit.runner.JUnitCore package.Class

现在我想对几个java测试做同样的事情? 我怎么能这样做?我应该为每个java测试添加字节码吗? 我可以举个例子吗?

5 个答案:

答案 0 :(得分:4)

您可以使用Ant使用junit ant任务的单个命令来运行测试。以下是如何使用它的示例:

<target name="runtests" depends="clean,compiletests">           
    <junit printsummary="yes" haltonfailure="no">
        <classpath>
            <path refid="test.classpath" />                 
            <pathelement location="${test.classes}"/>
        </classpath>                                
        <formatter type="xml"/>     
        <batchtest fork="yes" todir="${test.reports}">
            <fileset dir="${test.src}">
                <include name="**/*Test*.java"/>
            </fileset>
        </batchtest>
    </junit>        
</target>

该目标使用batchtest,它是junit ant任务的一部分。它设置您的测试类路径,以便包含其类名中包含 Test .java模式的所有测试。查看JUnit Task documentation

答案 1 :(得分:2)

在JUnit中,您可以将测试分组到测试套件中,然后使用单个命令运行它。

这是关于using test suites in JUnit 3的教程,这是关于same with JUnit 4的SO帖子。 此外,这是一个关于how to use the new features of JUnit 4的教程。

但是,如果您实际上尝试在批处理文件中编写构建脚本,我建议使用现有的构建系统,无论是AntMavenBuildr还是其他内容其他

答案 2 :(得分:0)

JUnit中使用的约定是具有AllTests测试套件,该套件将项目中的所有测试组合在一起,并具有Ant脚本或执行AllTests测试套件的任何内容。

答案 3 :(得分:0)

我看到了3种可能性:

  • 使用ant(在我打电话时查看其他答案)
  • 将您的批次更新为java -cp ... file1 file2 filen
  • 使用类似的东西:

    org.junit.runner.JUnitCore.runClasses(TestClass1.class, ...);
    public class GlobalTest { }
    

答案 4 :(得分:0)

您可以使用JUnit批注语法创建一组套件。我在more detail here中描述了它。