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

标签 java android unit-testing ant

我在 java 中有一个 android 应用程序。我想使用带有 ant 的 xml 脚本来测试它。现在我们有几个包和一个用于源文件和测试文件的标准目录结构。 有一个“测试”文件夹(所有测试代码的根目录),其中有 1 个文件 A.java 和一些子文件夹,这些子文件夹又包含一些测试文件或子子文件夹。只有文件 A.java 得到测试,其他文件未测试。如果我将 xml 脚本中的目录路径从“tests”更改为“tests/ui”,则文件夹“ui”中的测试文件无法测试,并且出现一些错误 - 当我 check out 我存储测试输出的“测试结果”文件夹。

我已经将已编译代码的父目录和所需的外部 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>

最佳答案

尝试将 fileset 元素更改为:

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

关于java - 使用 Ant 进行测试 - 无法测试子目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14648566/

相关文章:

java - OrientDB ETL导入: 'skip' operator throws exception

java - 保存实体对象时 Hibernate 复合主键问题

android - 未解析的引用 :toUpperCase Kotlin

Android HttpClient问题设置Content-Length

javascript - 如何使用 Jest 在 ES6 类方法中测试对 redux 存储的调度?

swift - 如何在结构/类中 stub Swift "Trait/Mixin"方法进行测试

java - 如何使用 R 或任何其他编程语言估计两种不同分布的混合参数?

java - Hibernate - 自动@ManyToMany 更新

android - 如何从 native 代码在 android Canvas 上绘制?

Angular 4单元测试错误 "TypeError: Cannot read property '订阅'未定义”