2011-11-20 113 views
2

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

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

我在网上搜索了所有内容,并且遵循了我能找到的每一条建议,但都无济于事。任何帮助和/或建议将不胜感激。提前致谢! :)

回答

0

部分问题是msbuild.exe在测试完成时返回"true"退出代码($?)(而不是测试通过)。您需要检查ResultsSummary部分(特别是计数器"passed""executed")的* .trx结果文件。

例如Jenkins可以将* .trx转换为它自己的(jUnit)格式来解释这些格式。

我有它运行MSTEST指定输出文件,而随后与失败以下检查,然后用非零状态退出(这将让詹金斯知道测试失败)批处理脚本:

findstr "testsFailed=""[^0]""" "C:\Jenkins\workspace\YOUR_PROJECT\YOUR_RESULTS.trx" >"C:\Jenkins\workspace\YOUR_PROJECT\YOUR_RESULTS.out" && exit 1 
相关问题