2016-08-12 14 views
0

に存在するコマンドラインから実行しているとき、私は次の応答を取得:ルビーキュウリ - ステップ未定義のメッセージが、ステップは、私は現在、私のBDDスクリプトの実行中にその中に珍しいエラーメッセージが出ていstep_definitions

Feature: As a user I want to purchase a mobile on a monthly plan 
@ACQ_Test_01 

    Scenario: Buy a pay monthly phone 
    Given I am on the Store Homepage 
    When I click on the Mobile Phones roundel link 
    And I select a "Apple" "Iphone 6s" 
    -->And I select the "1GB+AYCE min" price plan<-- 
    Then I can complete my order 

1 scenario (1 undefined) 
5 steps (1 skipped, 1 undefined, 3 passed) 
0m0.130s 

step_definitionsフォルダの下に私の.RBスクリプトで、

しかし(矢印の1が1が未定義であるとして、私のコマンドラインで強調表示されている)、私は、次のしている:

Given (/^I am on the Store Homepage$/) do 
    **CONTENT-HERE** 
end 
When (/^I click on the Mobile Phones roundel link$/) do 
    **CONTENT-HERE** 
end 
When (/^I select a "Apple" "Iphone 6s"$/) do 
    **CONTENT-HERE** 
end 
When (/^I select the "1GB+AYCE min" price plan$/) do 
    **CONTENT-HERE** 
end 
Then (/^I can complete my order$/) do 
    **CONTENT-HERE** 
end 

私はこのキュウリのスクリプトが一歩外れている理由は分かりませんが、終わりまで私を怒らせています。誰も助けることができますか?

編集:誰も私がそれが期待しているスニペットを表示していない理由に答えることができれば、それは素晴らしいだろう。

答えて

2

計画ごとにステップを作成しないでください。

When (/^I select the "([^"]*)" price plan$/) do |plan| 
    case plan 
    when "1GB+AYCE min" 
    # do something 
    end 
end 
+0

構文エラー、予期しないkeyword_whenを言うとき "1ギガバイト+ AYCE分" ^ D:/Users/slevene/Documents/BDD/bdd_tests/features/step_definitions/mobile_monthly.rb:18:構文エラー、予期しないkeyword_end、入力の終わり(SyntaxError) – Raisus

+0

があるので、これが有効かどうかはわかりません。 – Raisus

+1

実際には気をつけないでください。選択と時間を取り除くと、これで修正されます。私は自分自身で計画を反復する方法を理解するので、ありがとう。これはうまくいった。承認された回答としてマークされます。 – Raisus

0

正規表現があなたのテキストと一致しないため、ステップデフエラーが発生しています。何をしたい

です:リテラル文字+ではなくB 1回以上一致します

When (/^I select the "1GB\+AYCE min" price plan$/) do 

覚えておいてください、ruby-cucumberは、リテラル文字列ではなく正規表現構文を使用して、ステップ定義を照合します。

+0

申し訳ありません、それはありません。私は無駄に "+"をエスケープしようとしました。それはまだkeyword_end を期待未定義、 – Raisus

関連する問題