私はBehatとMink私のウェブサイトからいくつかの機能テストを行っています。今、私はいくつかのファイルをサーバーにアップロードするフィーチャーがあります。そして、ファイルのアップロードによって引き起こされた、サーバーでの変更をレポートで検証する必要があります。今レポートでは、各エントリを検索し、正しいデータが表示されていることを確認する必要があります。今私はこれを1つのフィーチャーにすることができます。なぜなら、それはそれが大きくなり過ぎるようになるからです。特に、データの検証に関する部分は、FeatureContext
を状態で作成し、検索データと結果データを別々に私はそれらに検索データと期待される結果データを単一のテーブルに入れる必要があります。これはあまりクリーンではありません。 シナリオの概要のいずれかを使用することはできません。シナリオが実行されるたびにファイルがアップロードされる可能性があります。
だから、これを処理するための最良の方法があると思われる、アップロード用に別のシナリオを作成し、機能をチェックして、次のいずれかの操作を行います。
1.どういうわけか「が右後シナリオを[チェック]を実行するBehatを伝えますアップロード 'シナリオ。
2. の「アップロード」のシナリオからのシナリオを呼び出してください。シナリオ
どのようにこれらの2つの選択肢のいずれかを行うことができますか?何もできない場合、これを処理する最良の方法は何ですか?Behat:特定の注文のシナリオを実行するか、別のシナリオからシナリオを参照する
0
A
答えて
0
ファイルがアップロードされていることを確認する必要があります。シナリオは独立している必要があります。
セットアップにバックグラウンドを使用します。この方法でバックグラウンドが失敗すると、次のシナリオはスキップされます。
時間を節約し、毎回アップロードしないことの鍵は、ファイルが何らかの形でアップロードされているかどうかを確認したり、初めて設定ステップが実行されたことを確認したりすることです。
例えば、セットアップステップでは、if(!isUploaded){ファイルをアップロード}のような条件を設定できます。
アップロードされると、ステップの最初の正常実行時に変数を設定する場合の変数の存在をチェックできます。または、ファイルが他の方法でアップロードされているかどうかを確認できますフロントエンドの変更を確認してください)。ファイルをアップロードするための手順への呼び出しを実行しない場合、ファイルが更新されたかどうかを確認するためのチェックが含まれているとすべきである -
@javascript @insulated
Feature: Search
Background:
Given I upload the search config file if needed
And I am on homepage
Scenario: Search - search with valid term
When I search for phone
Then the search result page should contain phones
Scenario: Search - search with valid term
When I search for blabla
Then the search result page should contain no items found message
は「必要であれば、私は、検索設定ファイルをアップロードします」。
関連する問題
- 1. はどのように私は、コマンドラインから特定のBehatシナリオを実行しようとしている特定のBehatシナリオ
- 2. シナリオのアウトラインから特定の例を実行
- 3. Behatシナリオ概要フロートは、
- 4. Specflowを実行する方法特定のシナリオ用のAfterStepフック
- 5. キュウリで特定のシナリオを実行するには
- 6. ガトリング - 実行シナリオsequentialy
- 7. 文のシナリオ
- 8. シナリオに文脈参照をプログラムで追加する方法
- 9. キュウリのシナリオを照合する
- 10. Intellij:1つのキュウリを実行するシナリオの例シナリオを実行するような概要
- 11. 各シナリオ実行時にシナリオ名を印刷
- 12. Behat Gherkin:シナリオ概要のタイトルを取得する方法
- 13. RabbitMQ現実のシナリオ
- 14. Specflow - 同じ機能のシナリオでブラウザオブジェクトを参照する方法
- 15. キュウリの「シナリオ」より「シナリオ」のメリットは何ですか?
- 16. Specflowシナリオ複数のシナリオの概要
- 17. 特定のRSSとSharepointのシナリオ
- 18. Nightwatch.jsが特定のタグを使用してシナリオを実行する
- 19. シナリオ
- 20. シナリオ
- 21. 他のシナリオからシナリオを呼び出すにはどうすれば別のフィーチャーファイルが表示されますか?フィーチャ1フィーチャシナリオ1フィーチャ2 >>シナリオ2
- 22. 特定のシナリオのエンティティフレームワークエンティティに接頭辞を付けますか?
- 23. OAuth攻撃を防止する方法(攻撃シナリオを参照)
- 24. 複数のシナリオの並列実行
- 25. 複数のcase文のシナリオ
- 26. この特定のシナリオでは主キーが必要ですか?
- 27. 春の依存性注入のシナリオ
- 28. TestNG - 順不同のシナリオでテストを実行しますか?
- 29. 実行可能なJARから単一のキュウリのシナリオを実行
- 30. MySqlレプリケーションのシナリオ
まだきれいではありません。問題の主な目的は、きちんとした解決策を見つけることです。 – user2268997