Jenkins SBT插件:如何将没有运行的测试视为成功?
我正在使用SBT插件在Jenkins上构建一个SBT项目,到目前为止效果很好。我执行的目标是Jenkins SBT插件:如何将没有运行的测试视为成功?,jenkins,sbt,Jenkins,Sbt,我正在使用SBT插件在Jenkins上构建一个SBT项目,到目前为止效果很好。我执行的目标是compiletestquick。这导致Jenkins只运行影响自上次Git推送以来更改的内容的测试 但是,当我只重新组织构建文件中的内容或修改版本号时,这会导致不运行任何测试,并且构建后操作“发布JUnit测试结果”会失败 有没有办法将不运行测试视为成功?这不是一个真正的解决方案,而是一个权宜之计,直到有人想出更好的主意: 我创建了一个“虚拟测试结果文件”dummyresult.xml,如下所示: &l
compiletestquick
。这导致Jenkins只运行影响自上次Git推送以来更改的内容的测试
但是,当我只重新组织构建文件中的内容或修改版本号时,这会导致不运行任何测试,并且构建后操作“发布JUnit测试结果”会失败
有没有办法将不运行测试视为成功?这不是一个真正的解决方案,而是一个权宜之计,直到有人想出更好的主意: 我创建了一个“虚拟测试结果文件”
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>
现在,即使没有运行任何测试,Jenkins也会选择一个跳过的“虚拟测试”,并且很高兴
mkdir -p target/test-reports && cp ~/dummyresult.xml target/test-reports