6

我正在使用纯 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>
4

1 回答 1

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>
于 2012-09-02T21:41:39.560 回答