2010-03-01 214 views
1

我有一个脚本(test.bat的),让我通过命令行来启动一个Java测试: -java -cp()org.junit.runner.JUnitCore package.ClassJUnit测试

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

回答

2

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

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

但是,如果你实际上试图写在你的批处理文件中生成脚本,我建议使用现有的构建系统代替,无论是AntMavenBuildr或别的东西。

+0

可能是一个想法? – user281070 2010-03-02 15:44:14

+0

彼得,请你给我一个有用的链接,以junit文档:如何使用@测试,@之前,...我开始与Junit 谢谢 – user281070 2010-03-03 21:45:52

+0

@lamisse我添加了一个新的链接,希望它有帮助。 – 2010-03-04 08:38:30

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的蚂蚁任务的一部分。它将设置您的测试类路径,以便包含其类名中包含Test .java模式的所有测试。查看JUnit Task documentation

0

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

0

我看到3种可能性:

  • 使用ant(看其他的答案,而我typping)
  • 更新一批java命令...文件1文件2 filen
  • 使用类似这样的:

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