在测试报告XML导入后,团队构建不会失败



我有一个小的PowerShell任务,使用Gallio和Teamcity导入了报告,但并没有使构建步骤失败,并且没有显示失败或通过的测试数量。

因此,我如何根据报告中的测试使团队构建失败,以及如何使其显示通过,忽略和失败的测试数量。

Add-PSSnapIn Gallio
$fileList = Get-ChildItem ./source/ -filter *.Unittests.dll -Recurse | where { $_.FullName -like "*bin*" } | %{$_.FullName}
Run-Gallio -Files $fileList -ReportTypes XML -ReportNameFormat unittests
Write-Output "##teamcity[importData type='nunit' path='./Reports/unittests.xml']"

日志显示文件传递

[Step 2/2] NUnit report watcher
[12:39:11][NUnit report watcher] 1 report found for paths:
[12:39:11][NUnit report watcher] C:TeamCitybuildAgentwork416967dfd65045Reportsunittests.xml
[12:39:11][NUnit report watcher] Successfully parsed

我使用Teamcity 7.1.1

您需要确保使用非零退出代码退出PowerShell,例如1,以便TeamCity注意非零代码并因错误而停止构建。

要执行此操作,将类似的内容放在您的脚本中:

  $host.SetShouldExit(1);
  exit 1;

这将导致PowerShell使用错误代码1。

退出

您可以编写脚本,以使您捕获异常(测试失败),然后如上图所示退出。这可以使用陷阱语句(PowerShell 1),也可以尝试/捕获(PowerShell 2及以上)。

最新更新