当前位置: 首页 > 知识库问答 >
问题:

当测试方法单独运行时为junit生成报告

管玉堂
2023-03-14
<target name="run_junit" depends="compile, ensure-test-name"
                                  description="Run JUnit tests">
    <echo message="Execute Test" />
    <junit printsummary="withOutAndErr" fork="yes">
        <sysproperty key="tests" value="${tests}"/>
        <classpath>
            <path refid="classpath"/>
            <pathelement path="bin"/>
        </classpath>
      <formatter type="xml"/>
      <batchtest>
         <fileset dir="src">
             <include name="${test}.java"/>
         </fileset>
      </batchtest>
    </junit>
</target>

这与我自己的Runner和Filter类以及@runwith注释一起,意味着我可以在一个单独的类中运行一个单独的测试,如下所示:

ant run_junit -Dtest=ClassWithTests -Dtests=testMethod

这在Jenkins中也是非常好的,我也能够并行运行测试。我遇到的问题是,每个类的报告在每个方法运行后都会被覆盖。

例如,上面的命令将生成一个文件test-classwithtests.xml,其中包含关于TestMethod的结果和输出的信息。但是,如果我跑

ant run_junit -Dtest=ClassWithTests -Dtests=anotherTestMethod

共有1个答案

翟柏
2023-03-14

您可以使用 而不是 ,因为这样可以指定专用的输出文件。像这样:

  <test name="${test}" outfile="TEST-${test}-${tests}"/>

由于ant 1.8.2,这甚至允许您通过属性methods运行单独的测试方法:

  <test name="${test}" outfile="TEST-${test}-${tests}" methods="${tests}"/>

这可能会帮助您摆脱自定义运行程序

 类似资料:
  • 一、JUnit 是什么? JUnit 是一个 Java 语言的回归测试框架(regression testing framework),由 Kent Beck 和 Erich Gamma 建立。 Junit 测试也是程序员测试,即所谓的白盒测试,它需要程序员知道被测试的代码如何完成功能,以及完成什么样的功能。 二、IDEA 的 开始JUnit测试 测试项:查询全部用户数据 junit测试方法:

  • 我正在使用Junit运行cucumber宁静测试: 代码片段: 对于每个测试执行,都会生成单独的html报告,但不会直接使用HtmlAggregate StoryReport生成聚合(组合)报告(参考:https://github.com/serenity-bdd/serenity-core/issues/244) 这是我使用的代码片段,它被挂起并且聚合未完成。在所有cucumber宁静测试完成后

  • 尝试为两个线程中的每一个获取单独的json报告,但只获取一个报告,其中包含两个线程的组合执行时间,因为它不是并行运行的。计划在不同设备上运行每个线程,并在获取每个单独设备的报告后运行。有没有办法为每个线程获取自己的json报告? 还尝试过:将maven surefire插件属性与threadcount一起使用,但甚至无法运行并行线程。 我的pom。xml 跑步者 测试xml 我试图得到单独的jso

  • 我目前正在做一个学校的作业,我正在努力与测试部分。出于某种原因,单元测试单独运行时运行良好,但一起运行时就不行了。我知道这与我在他们之间共享对象有关,而我不应该基于我以前的搜索,但我一生都无法找出需要改变什么来解决这个问题。下面是ApplientService类和ApplientServiceTest类的代码。任何帮助都将非常感谢,因为我已经被困在这个问题上一段时间了,现在知道这可能是其他人会立即

  • 我正试图利用Jenkins中的“发布JUnit测试结果报告”,但无法让它为我的android测试项目工作。我在Jenkins的android测试项目的设置基于以下指南:https://wiki.jenkins-ci.org/display/Jenkins/building+an+android+app+和+test+project 我希望有人能发布一个简单的逐步指南,说明如何从测试运行中获得JUn

  • 我有一堆JUnit测试,它们都单独运行。每一个都是一个真正的独立单元测试--被测试的单个类。不需要上下文。我可以在Eclipse中或通过maven/surefire-plugin单独或一起运行它们。 此后,我添加了一个新的集成测试,它利用了Spring上下文等,并使用了SpringJUnit4ClassRunner。一旦我将这个测试添加到我的套件中,任何测试用例都会在这个类失败后运行。 我不确定这