【问题标题】:Jenkins SBT plugin: How to have no tests being run treated as success?Jenkins SBT 插件:如何将没有运行的测试视为成功?
【发布时间】:2015-12-01 16:39:29
【问题描述】:

我正在使用 SBT 插件在 Jenkins 上构建一个 SBT 项目,目前它运行良好。我执行的目标是compile testQuick。这导致 Jenkins 只运行影响自上次 Git 推送以来发生变化的事情的测试。

但是,当我只重新组织构建文件中的内容或增加版本号时,这会导致无法运行任何测试,并且构建后操作“发布 JUnit 测试结果”会失败。

有没有办法将没有运行的测试视为成功?

【问题讨论】:

    标签: jenkins sbt


    【解决方案1】:

    不是真正的解决方案,而是临时的解决方法,直到有人想出更好的主意:

    我创建了一个“虚拟测试结果文件”dummyresult.xml,如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <testsuites>
       <testsuite name="DummyResultSoBuildDoesNotFail" errors="0" tests="0" failures="0" time="0" timestamp="2013-05-24T10:23:58" />
       <testsuite name="DummyResultSoBuildDoesNotFail.constructor" errors="0" skipped="1" tests="1" failures="0" time="0.006" timestamp="2013-05-24T10:23:58">
          <properties>
             <property name="java.vendor" value="Sun Microsystems Inc." />
             <property name="compiler.debug" value="on" />
             <property name="project.jdk.classpath" value="jdk.classpath.1.6" />
          </properties>
          <testcase classname="DummyResultSoBuildDoesNotFail.constructor" name="Dummy result, needed so result collection does not fail" time="0">
             <skipped />
          </testcase>
       </testsuite>
    </testsuites>
    

    然后我添加了一个后期构建步骤,即“执行 shell”并执行以下操作:

    mkdir -p target/test-reports && cp ~/dummyresult.xml target/test-reports
    

    现在,即使没有运行任何测试,Jenkins 也会选择一个跳过的“虚拟测试”并且很高兴。

    【讨论】:

      猜你喜欢
      • 2014-06-14
      • 2018-07-08
      • 2014-02-04
      • 2015-07-10
      • 2013-10-06
      • 2012-12-02
      • 1970-01-01
      • 2022-12-10
      • 1970-01-01
      相关资源
      最近更新 更多