CruiseControl和MSTest:如果测试失败,会导致构建失败

时间:2011-11-20 16:50:20

标签: mstest cruisecontrol.net

我正在尝试将MSTest(Visual Studio 2010版本)集成到Cruise Control中。我可以在Build Report中显示测试报告,包括显示失败的测试。但是,即使测试失败,CruiseControl构建仍然“成功”(例如,在CCTray中,构建'变绿')。在构建网页中,它显示“套件运行:0”,“测试运行:0”等。

我希望如果测试失败,则构建失败(即'变红')。

我在网上搜索过,并按照我能找到的每一条建议,都无济于事。任何帮助和/或建议将不胜感激。提前致谢! :)

1 个答案:

答案 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