这将输出异常消息:
After {|scenario| p scenario.exception.message}
我想在那里添加一些文本,如下所示:
After {|scenario| scenario.exception.message << "extra data"}
但当然,这是行不通的。
这将输出异常消息:
After {|scenario| p scenario.exception.message}
我想在那里添加一些文本,如下所示:
After {|scenario| scenario.exception.message << "extra data"}
但当然,这是行不通的。
看起来这样做的方法是创建自定义 Cucumber 格式化程序。像这样的东西:
require 'cucumber/formatter/junit'
module Cucumber::Formatter
class Custom < Junit
def format_exception(exception)
(["extra data"] + ["#{exception.message} (#{exception.class})"] + exception.backtrace).join("\n")
end
end
end
然后使用自定义格式化程序运行功能:
$ cucumber --format Cucumber::Formatter::Custom --out reports
如果你写:
After do |scenario|
p scenario.exception.message
end
并在控制台中运行 Cucumber,您将看到它在执行 After 钩子之前将自己的异常消息打印到控制台。
因此,据我了解,您无法更改 Cucumber 的异常消息,因为它已经打印到输出中。
作为一种解决方法,您可以提出自己的异常:
After do |scenario|
raise 'my message'
end
它将出现在 Cucumber 的输出中