Albacore发布说明说xunit任务支持一个skip_test_fail
参数
"防止rake在xunit测试失败时中止构建。这在持续集成场景中很有用,比如与TeamCity一起运行。"
没有显示示例,我尝试使用它(下面)是不成功的。它是怎么工作的?
desc "XUnit Test Runner Example"
xunit :xunit do |xunit|
xunit.command = "../xunit-1.8/xunit.console.clr4.exe"
xunit.assembly = "Islambox.Web.Test/bin/Debug/Islambox.Web.Test.dll"
xunit.skip_test_fail
end
我查看了xunit任务源代码,发现参数确实存在。它是一个常规的"属性",可以设置为某个值。
attr_accessor :html_output, :skip_test_fail
用于后缀if
条件,如果属性的值为false
或nil
,则返回false。其他值将返回true
。
if !result && (!@skip_test_fail || $?.exitstatus > 1)
所以,用任何值设置它!我推荐true
,以便更清楚发生了什么。我已经用这些信息更新了维基。
xunit.skip_test_fail = true