2011-09-08 7 views
0

저는 루비/레일 초보자입니다. 개발중인 어플리케이션은 다른 데이터를 전달하는 다른 웹 사이트의 HTTP 포스트로 시작한 다음 전화하기 전에 일부 데이터 캡처 화면을 표시합니다 웹 서비스.레일에서보기없이 컨트롤러를 테스트하기 위해 오이 사용하기

통합 테스트를 위해 오이와 기능/단위 테스트를 위해 rspec을 사용하는 접근 방식을 사용하여이 프로젝트를 시작하고 싶습니다.

오이를 사용하여 외부 웹 사이트의 게시물을 어떻게 시뮬레이션하여 응용 프로그램과의 흐름을 테스트 할 수 있습니까?

답변

1

호출이 시작된 응용 프로그램에는 실제로 문제가되지 않습니다. 제공된 매개 변수는 참조 페이지의 예상 매개 변수와 일치해야합니다. 특정 HTTP_REFERER 설정에 따라 다르면 Cucumber에서 헤더를 설정하는 방법에 대해서는 this answer을 확인하십시오.

add_headers({'HTTP_REFERER' => 'http://referringsite.com'}) 

이미 앱이 각 오이 적절이 설정됩니다 셋업 블록을 만들 수있는 추천 사이트에서 예상되는 쿼리 매개 변수/헤더 알고 있기 때문에

.

+0

죄송합니다. 완전히 분실했거나 적절하게 질문하지 않았습니다. 내가 원하는 것은 capybara의 요청을 게시하는 것입니다. 보기가 없으므로 간단히보기로 이동하여 양식을 채우고 게시 할 수 없습니다. – Niall

0

카피 바라와 함께 오이를 사용하는 경우 이와 같이 HTTP POST를 수행 할 수 있습니다.

When /^I sign in$/ do 
    @user = Factory(:user) 
    get "/login" 
    page.driver.post sessions_path, :username => @user.username, :password => @user.password 
end 

또는보기가 있으면 다음과 같이됩니다.

When /^I sign in$/ do 
    @user = Factory(:user) 
    visit "/login" 
    fill_in "Username", :with => @user.username 
    fill_in "Password", :with => @user.password 
    click_button "Log in" 
end 
관련 문제