【发布时间】:2015-05-20 14:24:26
【问题描述】:
我觉得我已经尝试了所有我们目前拥有的解决方案,在签入 TFS 后,我们会强制在 CruiseControl.net 上构建。在我们的解决方案中,我们使用 Chutzpah JS 测试适配器。如果任何 JS 测试失败,我们能够成功地使用 Chutzpah.console.exe 使构建失败,现在我们希望在覆盖范围内使构建失败。我找不到任何方法让 Chutzpah.console.exe 输出覆盖到它生成的 XML 文件。
我想我可以通过编写自己的 .xsl 来解析 _Chutzpha.coverage.html 来解决这个问题。我打算使用 CruiseControl 已经可以解释的 junit 格式将其转换为 xml。因为我只关心构建失败,所以我要让我的转换输出看起来像更多失败的单元测试。在 xsl 我会设置属性失败> 0
<?xml version="1.0" encoding="UTF-8" ?>
<testsuites>
<testsuite name="c:\build\jstest\jstest\tests\TestSpec2.js" tests="1" failures="1">
<testcase name="Coverage" time="46" />
</testsuite>
</testsuites>
但我真的不能,因为传入的 html 有自结束标签。
所以,现在我只想运行 Chutzpah.Console.exe 并将输出通过管道传输到一个文件,因为控制台输出确实会显示总平均覆盖率,读取该值,如果低于阈值则构建失败。
还有更好的选择吗?我错过了什么吗?我对 Cruisecontrol.net 了解不多
【问题讨论】:
-
Chutzpah 有一个名为 CodeCoverageSuccessPercentage (github.com/mmanela/chutzpah/wiki/Chutzpah.json-Settings-File) 的设置,它决定了 chutzpah 认为成功的行覆盖百分比。尽管如此,它目前不会导致非零状态代码。进行这种更改会解决您的问题吗?
-
我认为可能。我真的不太了解 chutzpah 和 Cruisecontrol.net 是如何交互的
-
其实这正是我们所需要的。如果覆盖率像单元测试数据一样输出到 xml 文件,我们可以编写一个 xsl 文件来将其转换为我们需要的巡航控制。
标签: build-process cruisecontrol.net chutzpah