0
我正在使用SBT插件在Jenkins上构建SBT项目,迄今为止工作良好。我执行的目标是compile testQuick
。这会导致Jenkins仅运行影响自上次Git Push以来更改的事件的测试。但是,当我仅在我的构建文件中重新组织或碰撞版本号时,这会导致不运行测试,并且构建后操作“发布JUnit测试结果”失败。詹金斯SBT插件:如何让没有测试运行视为成功?
有没有一种方法可以将没有测试作为成功运行?
我正在使用SBT插件在Jenkins上构建SBT项目,迄今为止工作良好。我执行的目标是compile testQuick
。这会导致Jenkins仅运行影响自上次Git Push以来更改的事件的测试。但是,当我仅在我的构建文件中重新组织或碰撞版本号时,这会导致不运行测试,并且构建后操作“发布JUnit测试结果”失败。詹金斯SBT插件:如何让没有测试运行视为成功?
有没有一种方法可以将没有测试作为成功运行?
不是一个真正的解决方案,而是一个临时的解决办法,直到有人想出了一个更好的主意:
我创建了一个“伪测试结果文件” 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
现在,即使没有运行测试,詹金斯拿起一个跳过“达姆我的测试“,很高兴。