当前位置: 首页 > 面试题库 >

使用Ant构建器运行所有单元测试

柴意智
2023-03-14
问题内容

我的项目中有一个包含一堆JUnit测试的目录。到目前为止,我已经为每个单元测试使用了单独的目标。例如:

   <target name="MyTest">
        <mkdir dir="${junit.output.dir}"/>
        <junit fork="yes" printsummary="withOutAndErr">
            <formatter type="xml"/>
            <test name="tests.MyTest" todir="${junit.output.dir}"/>
            <classpath refid="MyProject.classpath"/>
        </junit>
    </target>

此方法要求我每次添加单元测试时都更改构建文件
我希望能够使用单个Ant构建器目标来运行项目中的所有单元测试。
有可能吗?


问题答案:

是的,您需要查看文件集标记,例如:

<junit printsummary="yes" haltonfailure="yes">
  <classpath>
    <pathelement location="${build.tests}"/>
    <pathelement path="${MyProject.classpath}"/>
  </classpath>

  <formatter type="xml"/>

  <batchtest fork="yes" todir="${reports.tests}">
    <fileset dir="${src.tests}">
      <include name="**/*Test*.java"/>
      <exclude name="**/AllTests.java"/>
    </fileset>
  </batchtest>
</junit>

重要的部分是使用文件集和通配符/通配符模式来匹配测试名称。有关junit任务的完整文档,包括以下示例:

http://ant.apache.org/manual/Tasks/junit.html



 类似资料:
  • 在以前的一个项目中,我使用Spock测试框架对Java代码进行单元测试。我发现这非常有效,所以我尝试将Spock测试添加到我当前的项目中,该项目使用Maven作为构建工具(前一个项目使用Gradle)。虽然我可以让Maven编译我的Spock测试(使用),但我无法让Maven运行这些测试。 我做了一个简单的例子来演示我在两个文件中的问题: null 当我执行(或)时,我希望运行单个单元测试并失败。

  • 我有一个Java应用程序,它使用Gradle作为构建系统。这是多项目构建(几个Java项目)。 当我运行时,有些测试失败了,我注意到并不是所有的测试都在运行。 如果我将以下代码添加到中,它确实会运行所有测试,但当然,构建的代码总是成功完成: 我有两个问题: gradle是否在第一次失败后停止执行测试? 是否有一种方法可以运行所有测试(即使在一些测试失败时),并且如果其中一些测试失败,构建的测试仍然

  • ./gradlew test 执行gradle测试任务后所有的测试用例都会被运行,然后会产出测试报告. 测试报告存放在址: app\/build\/reports\/debug\/index.html 通过gradle工具栏执行的效果同命令行.

  • 我有一个类,其中包含批处理作业中使用的bean: 我怎么能这样测试豆子? 我当前的测试套件如下所示: 它在测试执行期间抛出一个NPE: 10: 40:07.684[Thread-0]警告组织。springframework。豆。工厂支持DisposableBeanAdapter-在名为“rabbitReader”org的bean上调用destroy方法“close”失败。springframewo

  • 我试图从Ant build.xml文件运行jbehave故事。我有testng框架。我能够以以下方式执行测试 -JBehave测试来自testng.xml和-ammond类,这些类带有@test标记,来自build.xml。 问题是当我集成以上两个步骤时,即在testng.xml文件中添加Jbehave配置类(它获取故事),并尝试从build.xml触发。

  • 我正在使用xUnit(1.9.2.version)ReSharper xUnit。net测试支持ReSharper 9对ReSharper的扩展 由于某些原因,ReSharper单元测试运行程序不会发现所有现有的单元测试,而测试资源管理器会发现。所有测试类都标记为公共<有线索吗?