これにより、例外メッセージが出力されます。
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"}
しかしもちろん、それは機能しません。
あなたが書く場合:
After do |scenario|
p scenario.exception.message
end
コンソールでCucumberを実行すると、Afterフックを実行する前に独自の例外メッセージがコンソールに出力されることがわかります。
したがって、私の理解では、Cucumberの例外メッセージはすでに出力に出力されているため、変更することはできません。
回避策として、独自の例外を発生させることができます。
After do |scenario|
raise 'my message'
end
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