수색…
비고
단계 정의는 Cucumber의 주어진 구현에 의해 지원되는 프로그래밍 언어입니다. 이 주제에서는 지원되는 각 프로그래밍 언어의 단계 정의 예제와 단계 정의에서 Cucumber API 호출 사용 예제를 제공합니다.
몇 가지 간단한 루비 단계 정의
features / step_definitions / documentation.rb에서 다음을 수행합니다.
When /^I go to the "([^"]+)" documentation$/ do |section|
path_part =
case section
when "Documentation"
"documentation"
else
raise "Unknown documentation section: #{section}"
end
visit "/documentation/#{path_part}/topics"
end
Then /^I should see the "([^"]+) documentation"$/ do |section|
expect(page).to have_css('h2.doctag_title a', text: section)
end
이 단계는 웹 응용 프로그램을 실행합니다. 그들은 여전히 실용적 일 수있는만큼 간단합니다.
각 단계는 Gherkin 키워드로 시작됩니다.이 키워드는 단계 정의 파일에서 Cucumber로 단계를 등록하는 메소드입니다. 단계 정의 메소드는 시나리오의 행과 일치하는 정규 표현식과 시나리오가 일치하는 행에 도달 할 때 실행되는 블록을 사용합니다. 일반 표현식의 캡처 그룹은 블록 매개 변수로 블록에 전달됩니다.
When 단계에는 사람이 읽을 수있는 참조 ( "문서")에서 URL로 이동하는 간단한 인라인 예제가 있습니다. 진짜 오이 스위트는 보통이 로직을 별도의 방법으로 사용합니다. visit 방법은 카피 바라 (Capybara)가 제공합니다. Capybara는 매우 일반적으로 사용되지만, 오이를 사용할 필요가 없습니다. visit 는 Capybara가 제어하는 브라우저에 지정된 URL을 방문하도록 지시합니다.
Then 단계는 페이지 내용을 테스트하는 방법을 보여줍니다. expect / to RSpec에 의해 제공된다 (다시, 오이 불필요하지만, 매우 자주 함께 사용). have_css 는 have_css 에서 제공됩니다. 주어진 CSS 셀렉터가 주어진 텍스트를 포함하고있는 페이지의 요소와 일치 할 것으로 기대합니다. 이 요청은 브라우저 요청이 실패한 경우 실패합니다.