JUnit在JAR中运行测试

时间:2012-09-02 19:10:04

标签: java unit-testing testing ant junit

我正在使用纯JUnit 4测试,我将它们编译在一些属于类路径的jar中。 我想在我的类路径中运行所有测试。

有办法吗?

我的任务如下:

<target name="test" description="All the tests">
    <junit fork="yes">
        <classpath> 
            <path refid="test.classpath" />
            <fileset dir="war/WEB-INF/lib/">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="war/WEB-INF"/>
            <fileset dir="war"/>
        </classpath>
    <formatter type="plain" usefile="false" />

    </junit>
</target>

1 个答案:

答案 0 :(得分:5)

下面的示例假定JUnit测试使用后缀“Test”命名,例如“MyClassTest.java”,并且JUnit 4 jar文件位于属性lib.dir指向的库目录中。对于包含已编译测试的每个jar文件,可以使用ZipFileSet来选择嵌套<batchtest>元素中的测试类。 JUnit 4 jar的路径包含在类路径中,以确保使用正确的版本。

<target name="test" description="All the tests.">
  <junit fork="true">
    <classpath>
      <fileset dir="war/WEB-INF/lib/" includes="**/*.jar" />
      <fileset dir="${lib.dir}" includes="junit*.jar" />
    </classpath>
    <batchtest haltonfailure="true">
      <zipfileset src="war/WEB-INF/lib/test.jar" includes="**/*Test.class" />
    </batchtest>
    <formatter type="plain" usefile="false" />
  </junit>
</target>