레일스 앱이 자동으로 사용자 세션을 종료하는 기간을 사용자 정의하고 싶습니다.테스트 RSpec을 사용하여 세션 시간 초과 확인
나는 정확히 내가 원하는 것을 줄 수있는 this question을 찾았지만 TDD를 통해이 문제에 접근하고 싶습니다. 상대적으로 견고한 테스트 스위트가 있는데, 사용자 세션이 만료되었는지 여부를 테스트 할 때 약간의 손실이 발생합니다. 테스트가 끝나고 x.minutes
경과 후 세션이 만료 될 때까지 기다리는 것 이외에는 . 확실히 더 좋은 방법이 있습니다.
이 문제를 다루는 테스트 도우미에 대한 Devise and Warden 문서를 확인하고 건조했습니다. 누구든지 어떤 조언이 있으십니까?
당신은 같은 시간 제한 등의 고안 기능을 테스트 할 필요가 없습니다. – boblin
[timecop] (https://github.com/travisjeffery/timecop)과 같은 것을 시도해보십시오. 통합 테스트에서 세션을 시작한 다음 30 분 빨리 감기하고 만료되었는지 확인해야합니다. –
[시간 제한 테스트 작성] (https://github.com/plataformatec/devise/blob/master/test/integration/timeoutable_test.rb)에는 단서가있을 수 있습니다. 그것은 그들이'expire_user_path (user)'를 호출하여 타임 아웃을 시뮬레이트하는 것처럼 보이지만, RSpec 테스트에서 "정의되지 않은 메소드"오류를 발생시킵니다. –