2017-03-11 10 views
0

他のドメインURLで各機能ファイルを実行するようにbehatに伝えたいと思います。ドメインごとに複数の機能があります

3つの異なるドメイン(変更中)には同じフォルダ内に3つの機能があります。

domain1.feature 
domain2.feature 
domain3.feature 

彼らは同じFeatureContext.phpに非常によく似たことを行うが、彼らは異なるパラメータと(ドメインごと)他のシナリオのセットを持っています。プロジェクトの性質は、3つ以上のドメインを同じ空間名に保つことです。

私は

Feature: "Domain1 Tests" 

を使用して、コンストラクタでこれを読んでなく、どこを見れするか、方法がわからないと考えていました。 1つのドメインが置き換えられるたびにbehat.ymlを編集したくありません。

誰もが同様の課題を解決しているか、ご意見がありますか?

答えて

1

各機能でBackgroundシナリオを使用してドメインを設定します。例えば

Background: 
    Given I am on my_domain domain 

    Scenario: 

それとも、同じシナリオを持っている場合は、ドメインまたは他のパラメータに基づいてデータを処理するためにいくつかのメソッドを記述し、重複したシナリオを削除する必要があります。
異なるドメインで実行できるようにシナリオを複製しないようにしてください。悪い習慣です。

0

あなたができることの一つはこれです:あなたのcommon.featureで

domain1.feature 
domain2.feature 
domain3.feature 
common.feature 

Scenario Outline: A common scenario for 3 domains 
Given I am on "<domain>" 
    And I do some setup thing 
When I do some action 
Then I should see some <outcome> 

Examples: 
    | domain | outcome | 
    | domain1 | outcome1 | 
    | domain2 | outcome2 | 
    | domain3 | outcome3 | 

そして、ドメイン固有のテストのために、あなたはドメイン1マークされたファイルでそれらを書くことができます.feature、domain2.featureおよびdomain3.feature。

これは、同様のシナリオを複製しないことを意味します。

関連する問題