2017-09-18 3 views
2

私は空手フレームワークでは新しいです。私はここのようなシナリオを書きたいと思います:もっと読みやすく短い空手のシナリオを作る方法

version 1 : 
Background: 
     * url 'someURL' 
     * def user1 = {id:'123', name:'Bill'} 

Given I have a user with id '123' 
When I create a new user with the same id 
Then I should get a response 'user with this id already exists' 

しかし、空手に私はここのようにそれを記述する必要があります。

version 2 : 
Background: 
    * url 'someURL' 
    * def user1 = {id:'123', name:'Bill'} 

Given request user1 
When method post 
Then status 201 
Given path response.id 
When method get 
Then response == {id:'123', name:'Bill'} 

    * def idUser1 = response.id 

Given request == {id: idUser1, name: 'Gary'} 
When method post 
Then response == {code: 400, message: 'user with this id already exists'} 

私は空手のフレームワークとの最初のバージョンを取得できますか?私は3行を詳しく述べなければならないのですか?例:

"Given request user1 
When method post 
Then status 201 
Given path response.id 
When method get" 
Then response == {id:'123', name:'Bill'} etc. 

答えて

2

Given I have a user with id '123'と後ろの(私はどこで、どのように知りません)詳細それは私が空手の著者です。あなたが最初のバージョンをしたい場合、空手はあなたのためではありません。 本当にの場合、製品オーナーやビジネスアナリスト、または技術以外の誰かがあなたのテストを読む(または作成する)ことができないと、最初のバージョンは役に立ちません。私の経験上、このは決してとなりません。

パス1を終了する場合でも、キュベット「ステップ定義」としてたくさんのJavaコードを書く必要があります。どちらが時間の無駄である、とあなたは空手の詳細なアサーションの利益を失うことになる、その例としては、以下に示す:私はこのトピックに言って多くを持っている

enter image description here

が、私の考えは詳細に説明されていますこのブログの投稿ではYes, Karate is not true BDDです。あなたは:)

+0

を選ぶ方オプションで

すべてのベストは、私は、UI関連の機能を実行するためにJAVA APIを介して行ってきましたが、私はこの方法を使用して機能から、単一のシナリオを実行する方法を知りたいと思いましたか? – kushal

+0

再使用可能なシナリオをスタンドアロンの機能ファイルに移動するのは難しいですか?私は本当にあなたがしようとしていることを理解していない。 –

+0

これは別のシナリオでスタンドアロンの機能ファイルを作成できることを知っていますが、単一の機能ファイル内から複数のシナリオを1つのシナリオで実行する方法が不思議でした。 – kushal

関連する問題