2014-10-07 85 views
1

我正在为teamcity实现一个Powershell构建脚本来测试一些功能,但无法弄清楚报告错误。teamcity测试永远不会失败

我试图按照这样的描述:

https://confluence.jetbrains.com/display/TCD8/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ReportingTests

然而,尽管该脚本实际上会导致被注册了一些测试,它拒绝报告错误。我现在回到基本的例子。我有以下Powershell的构建步骤(误差输出:错误,脚本:源):

Write-Host("##teamcity[testStarted name='className.testName']") 
Write-Host("##teamcity[testStdErr name='className.testName' out='error text']") 
Write-Host("##teamcity[testFinished name='className.testName']") 

所得构建日志(详细):

[13:27:12]Step 1/5: Output to build log (Powershell) 
[13:27:13][Step 1/5] ##teamcity[buildStatisticValue key='buildStageDuration:firstStepPreparation' value='156.0'] 
[13:27:13][Step 1/5] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_18' value='0.0'] 
[13:27:13][Step 1/5] Starting: C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy ByPass -Command - < D:\JetBrains\buildagent\temp\buildTmp\powershell6640337654487221076.ps1 
[13:27:13][Step 1/5] in directory: D:\JetBrains\buildagent\work\7e3fac8e390ca38d 

[13:27:13][Step 1/5] className.testName 
[13:27:13][className.testName] [Test Error Output] error text 

[13:27:13][Step 1/5] Process exited with code 0 
[13:27:13][Step 1/5] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_18' value='536.0'] 

即测试在teamcity中被注册为执行成功!由于'testStdErr'输出,我期望测试失败!它是什么使它失败的正确方法?

感谢, 金

回答

1

您应该使用这是你的链接页面上列出的testFailed指令:

##teamcity[testFailed name='MyTest.test1' message='failure message' details='message and stack trace'] 

或更改下“建立故障情况”的生成失败条件设置失败建立,如果你写给stderr(编辑:这是我对文档的了解):

Fail build if: 
[ ] an error message is logged by build runner 
+0

作品。以前已经尝试过,但一定是做了别的事情。谢谢。 – Kim 2014-10-07 10:56:02