문제

Michael Hartl의 Rails 자습서를 따르고 있으며 8.2.6 서명 - http://ruby.railstutorial.org/chapters/sign-in-sign-out?version=3.2#sec:signing_out

실패한 RSPEC 테스트에 사용한 코드는 Listing 8.28에서 찾을 수 있습니다.다음 코드 :

before { click_link "Sign out", method: :delete }
.

는 다음과 같은 오류를 제공합니다.

ArgumentError: wrong number of arguments (2 for 1)
# (eval):2:in 'click_link'
# ./spec/requests/authentication_pages_spec.rb:35:in 'block (5 levels) in <top (required)>
.

HARTL의 튜토리얼의 예에서는 코드가 정확히 표시되지만 여전히 실패한 테스트가 발생했음을 확인했습니다.생각?

도움이 되었습니까?

해결책

capybara 메소드 click_link 활성화하려는 링크의 이름 인 단일 매개 변수 만 사용합니다.그래서 코드는 실제로 만있을 것이라고 생각합니다 :

before { click_link "Sign Out" }
.

view에서 sign_out 조치의 끝과 같이 보이는 나머지 코드는 다음과 같습니다.

<%= link_to "Sign out", signout_path, method: => :delete %>
.

CapyBara를 사용하여 링크를 클릭하여 뷰 내에 위의 코드를 이미 사용해야하므로 마지막 정크는 복제본과 같습니다.

메소드 : : 삭제 "를 제거하고 얻는 것을 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top