2010-12-24 8 views
0

데모 사이트의 양식에 간단한 Cuke 기능을 썼습니다. 이 기능은 다음과 같습니다.오큐로 테스트 양식 제출

Given I am on the home page 
    When I set the "Start Date" to "2010-10-25" 
    And I set the "End Date" to "2011-1-3" 
    And I press the "Go" button 
    Then I should see "Cake Shop" 

아이디어는 내가 이동 버튼을 누른 후, 새 페이지가로드 결과 목록을 보여주는 결과 중 하나를해야한다는 것입니다 "케이크 숍."

그러나 나는 이것을 작동시키지 못했습니다. 제가 누락 된 것이 있습니까?

편집 : 여기에 단계 정의가 있습니다.

Given /^I am on the "([^"]*)" page$/ do |page| 
    visit root_path 
end 

When /^I set the "([^"]*)" to "([^"]*)"$/ do |field, date| 
    fill_in field, :with=>date 
end 

When /^I press the "([^"]*)" button$/ do |arg1| 
    click_button('Go') 
end 

최종 단계는 web_steps.rb에 정의되어 있습니다. 저는 믿습니다 .... 항상 실패하고 있습니다.

expected #has_content?("Cake Shop") to return true, got false 

(RSpec에 기대 :: :: ExpectationNotMetError) ./features/step_definitions/web_steps.rb:110:in '블록 (2 단계) "에

+0

존재한다. 특히 오이 단계. 또한 실패한 부분에 대한 출력도 있습니다. – DJTripleThreat

+0

@DJTripleThreat 방금 내가 사용하고있는 단계를 추가했습니다. – picardo

답변

1
  1. 테스트를 진행하기 위해 카피 바라를 사용하고 있다면 "다음 페이지보기"는 현재 페이지의 HTML을 tmp 폴더에 넣을 것입니다.

  2. "케이크 가게"는 어디에서 오는가? 테스트를 실행하기 전에 데이터베이스가 재설정됩니까? 보통 오이가 어떤 셋업 데이터를 필요로한다면 그것은 데이터가 스텝으로 존재 함을 명시 적으로 기술하고 각 테스트를 위해 삽입하는 것이 가장 좋습니다. 예 : 항목 "케이크 샵 '을 감안할 때

    일부 코드 순서에

+0

예, 저는 카피 바라를 사용하고 있습니다. "Cake Shop"이 존재합니다 - 저는 rake db : test : prepare -을 실행했고 폼 제출 후로드 된 다음 페이지에 나타나야합니다. 이것이 제가 현재 페이지가 아닌 실제로 확인하려는 페이지입니다. 나는 그것을 확인하기 위해 무엇을 사용해야하는지 모른다 ... – picardo

+0

현재 페이지는 사용자가 양식을 제출했는지를 알 수있는 페이지를 의미한다. 따라서 양식이 올바르게 제출되었다고 가정하면 '현재 페이지'가 결과 페이지 또는 '다음 페이지'가됩니다. "다음에보아야합니다"단계 앞에 "다음 페이지 표시"단 추를 삽입하십시오. 전에 말했듯이 각 테스트 전에 문서화되지 않은 예상 상태에있는 앱을 사용하는 대신 데이터를 수동으로 설정하는 것이 훨씬 명확합니다. – JamesAlmond