2017-07-06 9 views
0

私はステップ名を教えてくれるAfterStepフックを持っています。しかし、それは渡されたステップの名前だけを与えます。失敗した場合、次のキュウリのステップを渡す方法

AfterStep do |result, step| 
    puts step.name 
end 

次が失敗した場合、次のキュウリのステップを次のように取得する方法はありますか? 失敗したステップの名前を取得するにはどうすればよいですか?

何とかステップ位置を計算して別の位置を取ることはありますか?

アイデア? エラーログに失敗したステップ名が表示されている可能性があると確信しています。 enter image description here

答えて

0

が見つかりました。使用可能scenario.exception.backtrace ステップ名の配列を返します。そして、配列から必要な要素を取得するだけです。 しかし、失敗したステップを与えることができる何か他のものがありますか?

0

AfterStepがまったく呼び出されない理由は簡単です。単純な手順として扱われ、手順の一覧にはjust appendedです。したがって、いずれかのステップが失敗するとすぐにscenarioが停止し、AfterStepが呼び出されることはありません。私はそれがcucumber-rubyのバグであると考えます。

After do |scenario| 
    if scenario.failed? 
    puts "Failed: " << scenario.marshal_dump[2].first.source.inspect 
    end 
end 
:回避策として

、一つはAfterフックを使用する場合があります

関連する問題