我覺得我已經嘗試了一切,我們目前有一個解決方案,在簽入TFS後,我們強制在CruiseControl.net上構建。在我們的解決方案中,我們使用Chutzpah JS測試適配器。如果任何JS測試失敗,我們能夠成功地使用Chutzpah.console.exe來使構建失敗,現在我們想要在覆蓋範圍上構建失敗。我找不到任何方法將Chutzpah.console.exe輸出覆蓋率轉換爲其生成的XML文件。如何基於chutzpah覆蓋率構建失敗?
我想我可以通過編寫自己的.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(https://github.com/mmanela/chutzpah/wiki/Chutzpah.json-Settings-File)的設置,該設置確定涵蓋的線路的什麼比例將被視爲成功。正因爲如此,它目前不會導致非零狀態碼。會使這個改變解決你的問題嗎? –
我認爲這可能。我真的不知道如何chutzpah和cruisecontrol.net交互 –
其實這正是我們需要的。如果將覆蓋範圍輸出到像使用單元測試數據一樣的xml文件,我們可以編寫一個xsl文件來將其轉換爲巡航控制所需的方式。 –