capybara 2.13 기능 사양이있는 레일 5 앱이 있습니다. 하나의 사양은 앱의 콜백 경로로 리디렉션 URL을 포함하는 세 부분으로 된 트랜잭션 흐름을 완료합니다. 세션의 트랜잭션 ID를 session[:current_transaction_id]
으로 저장 한 다음이 태그를 사용하여 콜백을 처리 할 때 트랜잭션을 조회합니다. 이것은 잘 동작하지만 capybara로 테스트 할 때 session
해시가 누락되어 :current_transaction_id
입니다.Capybara 세션이 API 콜백으로 유지되지 않음
내가 unsuccessfuly 내가 주어진 스펙을 통해 지속 세션을 얻을 수있는 방법 https://github.com/teamcapybara/capybara#using-sessions
Capybara.using_session("User session") do
# log in and complete a transaction
end
에 설명 된대로 내 사양을 포장하려고했습니다?
Capybaras'using_session'은 사용자가 묻는'session'을 참조하지 않습니다. 그것은 Capybara에서 사용하는 브라우저 또는 브라우저/앱 쌍 인스턴스를 말하며, 테스트하는 동안 두 명의 다른 사용자를 동시에 테스트 (채팅, 실시간 상태 업데이트 등)해야 할 경우 일반적으로 사용됩니다. 쿠키 기반 세션을 사용하고 있습니까? 그렇다면 원래 방문한 (하위) 도메인 (거래 ID를 설정 한 곳)과 리디렉션 된 도메인 (세션 쿠키가 설정된 수준 이상)이 같은지 확인하십시오. 만약 그들이 당신에게 질문을 테스트 코드를 추가 수정하지 않습니다. –
도메인 문제였습니다! 고맙습니다! – HarlemSquirrel
질문을 완료로 표시 할 수 있도록 답변으로 추가되었습니다. –