小智 19
此答案专门针对Windows上的TeamCity 7.1,但可能适用于其他环境.
Artifacts\MSTest => MSTestif not exist Artifacts\MSTest mkdir Artifacts\MSTest**\bin\**\*.Tests.dllArtifacts\MSTest\testResults.trx在指定要在MSTest构建步骤中运行的测试程序集时,可以使用通配符,尽管尚不清楚它们是如何工作的.一个错误报告已经提交.
请注意,如果某些测试失败并且构建标记为失败,则MSTest构建步骤本身不会失败.如果您在MSTest构建步骤之后有构建步骤,如果您有测试失败,则不会运行这会导致问题(例如,生成安装程序或您知道存在错误的构建文档可能没有意义).希望在TeamCity的更高版本中修复该问题.
如果您希望在出现测试失败时停止构建过程,则可以创建一个新的构建步骤,该步骤使用TeamCity REST API来检测当前构建是否已标记为失败(请记住,当测试失败时,构建步骤不会标记为失败,但构建是),然后显式地失败当前构建步骤.例:
脚本:
$xml = [xml](curl --request GET http://USERNAME:PASSWORD@HOSTNAME/httpAuth/app/rest/builds/%teamcity.build.id%)
Microsoft.PowerShell.Utility\Select-Xml $xml -XPath "/build" | % { $status = $_.Node.status }
if ($status -eq "FAILURE") {
throw "Failing build step on purpose"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5913 次 |
| 最近记录: |