私は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. Specflowを実行する方法特定のシナリオ用のAfterStepフック
- 4. ガトリング - 実行シナリオsequentialy
- 5. 文のシナリオ
- 6. シナリオに文脈参照をプログラムで追加する方法
- 7. キュウリのシナリオを照合する
- 8. RabbitMQ現実のシナリオ
- 9. 特定のRSSとSharepointのシナリオ
- 10. シナリオ
- 11. 特定のシナリオのエンティティフレームワークエンティティに接頭辞を付けますか?
- 12. 複数のシナリオの並列実行
- 13. 春の依存性注入のシナリオ
- 14. この特定のシナリオでは主キーが必要ですか?
- 15. TestNG - 順不同のシナリオでテストを実行しますか?
- 16. 実行可能なJARから単一のキュウリのシナリオを実行
- 17. Asp.Netシングルトンパターンのシナリオ
- 18. ASP.NETセッションログアウトのシナリオ
- 19. 、次のシナリオで
- 20. MySqlレプリケーションのシナリオ
- 21. JBehaveシナリオのデバッグ
- 22. は、このシナリオ
- 23. シナリオのクエリ
- 24. Nginx.confとNode.jsの設定シナリオ
- 25. キュウリのシナリオをインポート
- 26. キュウリの別のシナリオで1つのシナリオを呼び出すことはできますか?
- 27. キュウリの最初のシナリオを直接実行する方法
- 28. 私のプロジェクトでジンクスから失敗したシナリオを実行する方法
- 29. なぜbehatは異なるシナリオ間でリクエストヘッダーを保持しますか?
- 30. Formulatextシナリオ
まだきれいではありません。問題の主な目的は、きちんとした解決策を見つけることです。 – user2268997