오늘 필자는 레일 애플리케이션의 기능 테스트를 시작했다. 나는 RESTful 인증 플러그 인을 사용한다. 나는 누군가 나를 혼란스럽게 할 수 있기를 바란다.RESTful 인증 플러그인을 사용한 Ruby on Rails 기능 테스트
1) 필자의 레일 앱에있는 대부분의 기능이 인증을 필요로하기 때문에 빠른 로그인 기능을 작성했습니다.
def login_as(user)
@request.session[:user_id] = user ? user.id : nil
end
이 기능에서 볼 수있는 문제점은 기본적으로 가짜 인증입니다. 나는 이것에 대해 걱정해야합니까? 진정한 인증 방법을 어딘가에서 테스트하는 한이 경로를 사용하는 것이 좋습니다. 아니면 끔찍한 연습 일 수도 있습니다.
2) 두 번째 혼란스러운 점은 기능 테스트의 일부 장소에서 전체 인증 프로세스가 필요하다는 것입니다. 사용자가 활성화되면 do_activate 메소드에서 사용자에 대한 초기 객체를 만듭니다. 그것이 의미가있는 경우 학생용 애플리케이션을위한 빈 노트북 객체 및 펜 객체의 생성과 유사합니다.
그래서 내 응용 프로그램을 제대로 테스트하려면 사용자가 해당 활성화 상태를 눌러 해당 객체가 만들어 지도록해야합니다. 나는 Factory Girl을 사용하여 사용자를 생성 한 다음 위에서 위의 login_as 함수를 호출하여 인증을 위조합니다.
다른 옵션은 전체 인증 시퀀스를 건너 뛰고 공장 소녀와 함께 빈 개체를 만드는 것입니다. 나는 다른 곳에서 적절한 인증을 테스트 할 수 있었다.
당신은 어떻게 생각하십니까? 적절한 순서를 거쳐야한다면 아래의 코드가 do_activate 함수를 호출하지 않는 이유는 무엇입니까?
user = Factory.create(:user)
user.active = 1
user.save
고마워요!
[여기에 내가 묻는 유사한 질문입니다] (http://stackoverflow.com/questions/64827/rails-restful-authentication-rspec-how-to-test-new-models-that-require-authen) 및 내가 뽑은 많은 링크들. – srboisvert