0

Edit Cartそのため、ショップ カート アクションの受け入れ機能を作成しており、リンクをクリックすると に移動することを確認したいと考えていedit_cart_pathます。

だから私はキュウリのステップ定義を持っています:

Then(/^I should be on the (.*) page$/) do |page_name|
  current_path.should eq send(page_name.split(/\s+/).push('path').join('_').to_sym)
end

編集ページ ( cart/123456/edit)でどのエラーが出力さNo route matches {:action=>"edit", :controller=>"Carts"}れるか{:action=>"edit", :controller=>"Carts", :id=>123456}

カートの ID はセッション [:cart_id] にあり、テスト内ではアクセスできません。

問題は、編集ページが正しく表示されているかどうかをテストするにはどうすればよいかということです。

4

2 に答える 2

0

Cucumber はビヘイビア ドリブン開発用に設計されているため、テストでは予想されるビヘイビアを説明する必要があります。現在のページの URL をチェックして正しい ID を持っていることを確認するのではなく、正しいコンテンツがページに表示されるかどうかを確認するテストを作成します。

したがって、いくつかのアイテムが入ったカートがあると仮定すると、次のようなものになります。

Given a cart exists
And I have added "Cucumber and Friends"
When I click the edit link
Then I should see the edit cart page

カートの編集ページで正しいコンテンツがページにあることを確認する

page.should have_selector("h1", text: "Edit Cart")
page.should have_field("edit", with: "Cucumber and Friends")
于 2013-10-17T20:43:06.060 に答える