0

因此,我正在爲我的商店購物車操作寫入驗收功能,並且想驗證點擊Edit Cart鏈接將我帶到edit_cart_path如何從黃瓜特徵的會話中獲取對象的ID

所以我有一個黃瓜步驟定義:

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],我在測試中無法訪問。

現在的問題是,我如何測試,我在編輯頁面上正確?

回答

0

上線,或與編輯購物車頁面的東西我的解決方案是解析URL中的ID,然後將其傳遞給_path方法以獲得驗證。

不知道它是否有任何意義,但...

0

黃瓜專爲行爲驅動的開發而設計,因此測試應描述您期望看到的行爲。而不是檢查當前頁面的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")