2017-03-21 11 views
1

現在、私は現在のシナリオ(説明、ファイルパス、名前など)から情報を取得しようとしています。このような前のフックでシナリオ情報を取得しようとします。前後のフックでシナリオ情報を把握できますか?

Before do |scenario| 
    puts scenario.name 
    puts scenario.description 
    #etc. 
end 

ただし、scenario.descriptionのようなものは使用できません。なぜなら、BeforeフックとAfterフックの両方で実行している場合、シナリオは機能のようなコアASTモジュールの一部ではなくCucumber::RunningTestCase::Scenarioと呼ばれているからです。 Cucumber::Core::Ast::ScenarioCucumber::Core::Ast::OutlineTable::ExampleRowからシナリオにアクセスできるようにしたいと考えています。現在のシナリオの説明のような値があります。 Cucumber::RunningTestCase::Scenarioではなく、前後のフックでCucumber::Core::Ast::Scenarioにアクセスできますか?シナリオ名、説明、ファイルパスなどの情報を取得する別の方法ですか?これはキュウリとキュウリの最新のバージョン(2.4と1.5)を使用しています。さらに、私はもはや現在のステップとステップ数についての情報にアクセスすることができなくなりました。 ALL_SOURCE変数から

答えて

1
Before do |scenario| 
    all_sources = scenario.outline? ? scenario.scenario_outline.all_source : scenario.all_source 
end 

あなたからいくつかのオブジェクトにアクセスする必要があります::

シナリオ概要AST:

  • キュウリ::コア:: AST ::特集

  • キュウリ::コア::アスタリスク::シナリオオンライン

  • Cucumbえー::コア:: AST ::例

  • キュウリ::コア:: AST :: ExamplesTable ::行:

  • キュウリ::コア:: AST :: ExpandedOutlineStep

シナリオ:

  • キュウリ::コア:: AST ::特集

  • キュウリ::コア:: AST ::これらのことから、シナリオ

  • キュウリ::コア:: AST ::ステップ

ファイルパス、説明、コメント、タグ、フックに関するデータを得ることができる必要があり、行番号など。

関連する問題