当测试失败转移到隔离区时,防止Bamboo失败

pba*_*ski 18 c# msbuild jobs bamboo

Bamboo我有MSBuild建立和运行测试的工作.

它工作正常 - 但我想使用test quarantine选项,所以当我将一些测试移到隔离区(这个移动的测试只是失败的)时,作业将被标记为成功

我将一个失败的测试移到隔离区,但作业被标记为失败

组态:

Job- > Tasks我已Command命名Test runner:

Executable = VSTest.Console

Argument ="WebServiceTestClient.dll"/ Logger:trx

在运行失败的测试隔离后,我得到了日志

01-Apr-2014 10:59:44  Total tests: 62. Passed: 61. Failed: 1. Skipped: 0. 
01-Apr-2014 10:59:44  Test Run Failed. 
01-Apr-2014 10:59:44  Test execution time: 10.1296 Minutes 
01-Apr-2014 10:59:44  Failing task since return code of [C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\VSTest.Console.exe "WebServiceTestClient.dll" /Logger:trx] was 1 while expected 0 
01-Apr-2014 10:59:44  Finished task 'Test runner' 
01-Apr-2014 10:59:44  Starting task 'Parse test logs' of type 'com.atlassian.bamboo.plugin.dotnet:mstest' 
01-Apr-2014 10:59:44  Parsing test results... 
01-Apr-2014 10:59:45  Failing task since 1 failing test cases were found. 
Run Code Online (Sandbox Code Playgroud)

作业标记失败,但随后:

01-Apr-2014 10:59:45  Changing Task Result to SUCCESS as all failed tests were quarantined. 
01-Apr-2014 10:59:45  Finished task 'Parse test logs' 
01-Apr-2014 10:59:45  Running post build plugin 'NCover Results Collector' 
01-Apr-2014 10:59:45  Running post build plugin 'Clover Results Collector' 
01-Apr-2014 10:59:45  Running post build plugin 'Artifact Copier' 
01-Apr-2014 10:59:45  Finalising the build... 
Run Code Online (Sandbox Code Playgroud)

不幸的是输出是: 在此输入图像描述

Bol*_*ove 1

问题是工作结果是失败的。

您可以通过 ant 脚本运行测试,只要目标成功执行,您就会通过。在我的bamboo设置中,我运行像这样的所有单元测试,运行测试后,我查找测试结果,如果缺少测试结果,则生成失败的测试结果(例如,如果 cppunit exe 抛出异常并且没有写出其结果)。

然后最后一个阶段设置为检查测试结果(这可以是您运行测试的同一阶段或稍后的阶段)。