2016-09-12 16 views
0

私はBehatMink私のウェブサイトからいくつかの機能テストを行っています。今、私はいくつかのファイルをサーバーにアップロードするフィーチャーがあります。そして、ファイルのアップロードによって引き起こされた、サーバーでの変更をレポートで検証する必要があります。今レポートでは、各エントリを検索し、正しいデータが表示されていることを確認する必要があります。今私はこれを1つのフィーチャーにすることができます。なぜなら、それはそれが大きくなり過ぎるようになるからです。特に、データの検証に関する部分は、FeatureContextを状態で作成し、検索データと結果データを別々に私はそれらに検索データと期待される結果データを単一のテーブルに入れる必要があります。これはあまりクリーンではありません。 シナリオの概要のいずれかを使用することはできません。シナリオが実行されるたびにファイルがアップロードされる可能性があります。
だから、これを処理するための最良の方法があると思われる、アップロード用に別のシナリオを作成し、機能をチェックして、次のいずれかの操作を行います。
1.どういうわけか「が右シナリオを[チェック]を実行するBehatを伝えますアップロード 'シナリオ。
2. の「アップロード」のシナリオからのシナリオを呼び出してください。シナリオ
どのようにこれらの2つの選択肢のいずれかを行うことができますか?何もできない場合、これを処理する最良の方法は何ですか?Behat:特定の注文のシナリオを実行するか、別のシナリオからシナリオを参照する

答えて

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 

は「必要であれば、私は、検索設定ファイルをアップロードします」。

+0

まだきれいではありません。問題の主な目的は、きちんとした解決策を見つけることです。 – user2268997

関連する問題