当没有找到测试时,MSTest会成功

时间:2012-03-28 10:33:41

标签: teamcity mstest

我有两个问题。

我运行TeamCity 6.5版本,其中一个步骤是MSTest测试。如果MSTest无法找到vsmdi文件中描述的测试,我希望测试运行失败。

  

[17:47:01]:[Step 2/2] Loading(Path)\ LocalTestRun.testrunco​​nfig ...

     

[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>

2 个答案:

答案 0 :(得分:1)

TeamCity 7.0 +中有Fail build on metric change功能 因此,如果构建中没有报告的测试,则可能无法使用UI设置构建。

答案 1 :(得分:0)

我能想到的唯一方法就是有一个复杂的解决方案。解决方案是指定结果文件名称。然后测试运行后的下一步应该是运行一个命令行util,你将编写它将检查文件以检查是否缺少运行测试。