我在java中有一个android应用程序。我想使用带有 ant 的 xml 脚本对其进行测试。现在我们有几个包和一个用于源文件和测试文件的标准目录结构。有一个“测试”文件夹(所有测试代码的根目录),其中有 1 个文件,比如 A.java 和一些子文件夹,这些子文件夹又包含一些测试文件或子子文件夹。只有文件 A.java 得到测试,其余的没有测试。如果我将 xml 脚本中的目录路径从“tests”更改为“tests/ui”,则文件夹“ui”中的测试文件无法测试,并且出现一些错误 - 当我签出文件时出现类未找到错误我存储测试输出的“test-result”文件夹。
我在 id =“test.classpath”的路径中包含了编译代码的父目录和所需的外部 jar。我认为我应该每个 .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>