我有一个脚本(test.bat),允许我通过命令行启动一个java测试: -java -cp()org.junit.runner.JUnitCore package.Class
现在我想对几个java测试做同样的事情? 我怎么能这样做?我应该为每个java测试添加字节码吗? 我可以举个例子吗?
答案 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的教程。
但是,如果您实际上尝试在批处理文件中编写构建脚本,我建议使用现有的构建系统,无论是Ant,Maven,Buildr还是其他内容其他
答案 2 :(得分:0)
JUnit中使用的约定是具有AllTests测试套件,该套件将项目中的所有测试组合在一起,并具有Ant脚本或执行AllTests测试套件的任何内容。
答案 3 :(得分:0)
我看到了3种可能性:
使用类似的东西:
org.junit.runner.JUnitCore.runClasses(TestClass1.class, ...);
public class GlobalTest { }
答案 4 :(得分:0)
您可以使用JUnit批注语法创建一组套件。我在more detail here中描述了它。