2016-04-04 12 views
0

から他に依存の問題は、それはカスタムオーダーでシナリオを実行することが可能である:キュウリの実行シナリオは異なる機能ファイル

は、我々は2つの機能ファイル(第一を持っていることを想像して - 第二のためのデータを作成することです、注文を配置しますバックエンド側の受注) 最初のファイルでは、バウチャーコードを使用するシナリオまたは使用しないシナリオがあります。したがって、基本的に、バウチャーコードでトリガーされる必要があるシナリオは、バックエンド(作成伝票シナリオがトリガーされた後) 私はTestNG - dependsOnMethodsと同じ動作を期待していました。 キュウリはできますか?

ありがとうございます。

+0

キュウリの分布はこれに使用していますか? –

+0

@KyleFairnsまあ、実際に私はこのために静けさ - キュウリを使用しています(説明に欠けているのは申し訳ありません)。バージョン1.1.5です。そして、ちょうど元をチェックインしました。図書館 - キュウリコア-1.2.4 – diazolin88

答えて

0

可能な限り提案するように機能を結合しないようにします。

最初の機能は、データを作成し、作成プロセスが正しいことを検証することです。

2番目の機能は、システムで使用可能と思われるデータを処理することです。

私のアプローチは、必要に応じて各シナリオのデータを作成するサポートコードを用意することです。このサポートコードは、実行前にシステムを期待された状態にセットアップします。

これは重複につながる可能性があります。個人的には、私は可読性を重視して複製を受け入れます。これはまた、この場合に柔軟性をもたらすだろう。あなたが求めている結合された実行は、毎回すべてを実行するよう強制します。トラブルシューティングの際に簡単に1つのシナリオを実行することはできません。

BDDとキュウリはすべて人間が読めるコミュニケーションに関するものです。

DRY。

0

シナリオのステップ関数を使用してそれらをすべて新しいステップ定義に配置することによって、それが依存するシナリオのステップ定義を作成できます。

私は個人的にPHPのDIST(Behat)で動作するので、私はPHPのための例を与えることができる、とあなたは私が何を意味するか見るためにのために、おそらくそれはそれが少し楽になります。

/** 
* 
* @Given /^I have completed some previous scenario$/ 
*/ 
public function iHaveCompletedSomePreviousScenario() 
{ 
    $this->iEnterInTextboxWith(); 
    $this->wait(300); 
    $this->iClickOn("button:contains('Continue')"); 
    $this->wait(500); 
} 

がある場合再び

@Given /^I have completed some previous scenario$/ 
public void i_have_completed_some_previous_scenario() throws Throwable 
{ 
    // Enter in here functions used in scenario you are emulating 
} 

、私は私は、Javaについて十分に知っていないことを残念に思います。(私の知る限り、静けさが使用するものである)Javaで、それはこのような何かを行うことができること方法のいくつかの並べ替えおよびキュウリのセレンティスは、あらかじめ定義された機能を使用する正確な構文について知っています。しかし、私はあなたがそれを行う方法を知っていることを願っており、これはあなたにとって有益です。

関連する問題