我正在尝试将MSTest(Visual Studio 2010版本)集成到Cruise Control中。我可以在Build Report中显示测试报告,包括显示失败的测试。但是,即使测试失败,CruiseControl构建仍然“成功”(例如,在CCTray中,构建'变绿')。在构建网页中,它显示“套件运行:0”,“测试运行:0”等。
我希望如果测试失败,则构建失败(即'变红')。
我在网上搜索过,并按照我能找到的每一条建议,都无济于事。任何帮助和/或建议将不胜感激。提前致谢! :)
答案 0 :(得分:0)
部分问题是msbuild.exe
在测试完成时返回"true"
退出代码($?)(而不是测试通过)。您需要检查.trx
部分的ResultsSummary
结果文件(特别是计数器"passed"
和"executed"
)。
e.g。 Jenkins
有一种方法可以将* .trx
转换为自己的(jUnit
)格式来解释这些格式。
我有一个批处理脚本运行MSTEST指定输出文件,然后检查以下是失败,然后以非零状态退出(这将让Jenkins知道测试失败):
findstr "testsFailed=""[^0]""" "C:\Jenkins\workspace\YOUR_PROJECT\YOUR_RESULTS.trx" >"C:\Jenkins\workspace\YOUR_PROJECT\YOUR_RESULTS.out" && exit 1