使用Ant进行测试 - 无法测试子目录中的文件

时间:2013-02-01 14:32:28

标签: java android unit-testing ant

我在java中有一个android应用程序。我想使用带有ant的xml脚本来测试它。现在我们有源包和测试文件的几个包和标准目录结构。 有一个“tests”文件夹(所有测试代码的根目录),其中有一个文件说A.java和一些子文件夹,它们又包含一些测试文件或子子文件夹。只有文件A.java被测试,其他人没有经过测试。如果我将xml脚本中的目录路径从“tests”更改为“tests / ui”,那么文件夹“ui”中的测试文件无法测试,我得到一些错误 - 当我检出文件中时找不到类错误“test-result”文件夹,其中i存储测试的输出。

我已将编译代码的父目录和所需的外部jar包含在id =“test.classpath”的路径中。我想我应该每个类型.class的文件,而不是父文件夹的路径。

代码是:   

<target name="test-run" description="Run Test">
     <delete dir = "test_result" />
     <mkdir dir = "test_result" />
     <junit printsummary="yes" haltonfailure="yes" showoutput="yes" >
        <classpath refid="test.classpath"/>
        <batchtest fork="yes" todir="test_result">
            <formatter type="xml"/>
            <fileset dir="tests" includes="**/*" />
        </batchtest>
     </junit>
 </target>

请你解释一下如何实现我的动机假设一个通用的文件结构。

编辑:

以下是上面xml中使用的路径,其中文件夹out包含由idea ide生成的源文件和测试文件的.class文件:

  <path id="test.classpath">
    <pathelement path="testlibs/jmockit.jar"/>
    <pathelement path="testlibs/jmockit-coverage.jar"/>
    <pathelement path="testlibs/jmockit-coverage-htmlfull.jar"/>
    <pathelement path="/opt/idea-IU-117.418/lib/junit-4.10.jar"/>
    <pathelement path="out"/>
  </path>

1 个答案:

答案 0 :(得分:0)

尝试将fileset元素更改为:

<fileset dir="tests" includes="**/*.java" />