在 Bamboo 上,我有MSBuild
个用于构建和运行测试的工作。
它工作正常 - 但我想使用test quarantine
选项,所以当我将一些测试移到隔离区(这个移动的测试只是失败的那个)时,作业将被标记为成功
我将一个失败的测试移到隔离区,但作业被标记为失败
配置:
在Job
- > Tasks
我Command
名为Test runner
:
可执行文件 = VSTest.Console
参数 =" WebServiceTestClient.dll" /记录器: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.
作业被标记为失败,但随后:
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...
不幸的是输出是:
答案 0 :(得分:1)
问题在于工作结果是失败。
您可以通过ant脚本运行测试,只要目标成功执行,您就可以通过。在我的Bamboo设置中,我像这样运行所有的单元测试,并且在运行测试后,我寻找测试结果,如果缺少一个,则生成失败的测试结果(例如,如果cppunit exe抛出异常并且没有写出结果)。
然后将最后一个阶段设置为检查测试结果(可以是您从中运行测试的同一阶段,也可以是以后的阶段)。
答案 1 :(得分:-1)
https://confluence.atlassian.com/bamboo/quarantining-failing-tests-289276886.html