我有两个问题。
我运行TeamCity 6.5版本,其中一个步骤是MSTest测试。如果MSTest无法找到vsmdi文件中描述的测试,我希望测试运行失败。
[17:47:01]:[Step 2/2] Loading(Path)\ LocalTestRun.testrunconfig ...
[17:47:01]:[Step 2/2] Loading(Path)\ Tests.vsmdi ...
[17:47:01]:[步骤2/2]开始执行......
[17:47:01]:[步骤2/2]无法找到测试BlaBla1。
[17:47:01]:[步骤2/2]无法找到测试BlaBla2。
[17:47:01]:[步骤2/2]无法找到测试BlaBla3。
[17:47:01]:[步骤2/2]没有要执行的测试。
[17:47:07]:[步骤2/2]流程退出,代码为0
我从命令行启动了MSTest,当它没有找到任何测试时它确实返回零作为退出代码。 当没有找到测试时,有谁知道如何强迫它失败?
我认为第二个问题与TeamCity的联系更紧密。如果MSTest无法找到vsmdi文件,则会打印到日志
[17:59:16]:[步骤2/2]文件“(Path)\ Tests.vsmdi”未找到。
[17:59:16]:[步骤2/2]对于切换语法,输入“MSTest / help”
[17:59:16]:[步骤2/2]进程退出代码1
此构建配置已启用失败条件“构建过程退出代码不为零”,但是,该步骤不会失败。有谁知道如何处理它?</ p>
答案 0 :(得分:1)
TeamCity 7.0 +中有Fail build on metric change功能 因此,如果构建中没有报告的测试,则可能无法使用UI设置构建。
答案 1 :(得分:0)
我能想到的唯一方法就是有一个复杂的解决方案。解决方案是指定结果文件名称。然后测试运行后的下一步应该是运行一个命令行util,你将编写它将检查文件以检查是否缺少运行测试。