2013-02-24 1 views
1

사용자가 로그인해야하는 몇 가지 테스트가 있습니다. 컨트롤러 테스트를 단독으로 실행하면 통과하고 모든 것이 녹색입니다. 내가 rspec spec/controllers을 실행하면 내 시험의 일부는 다음과 같은 오류와 함께 실패 :컨트롤러 테스트가 함께 실행되면 실패하고 개별적으로 실행될 때 통과합니다. 어떻게 이럴 수있어?

Failure/Error: get :my_modal, :format => :js 
NoMethodError: 
    undefined method `authenticate!' for nil:NilClass 

이 해결 될 수있는 방법을 모든 팁을?

+0

내 답변이 유용할까요? 그렇다면, 당신은 그것을 upvote 수 있습니까? 그렇지 않으면 삭제하는 것이 좋습니다. 감사! – joelparkerhenderson

+0

실패한 _spec.rb 파일을 공유 하시겠습니까? – swapab

답변

0

일단 이런 오류가 발생했습니다. 그러므로 당신이 내 이야기를 말할 시간에 더 많은 세부 사항을 우리와 공유하지 않고 잘하면 나중에 오류를 찾을 수 있습니다.

내 앱 2 클래스에 로그인 할 수 있습니다. "사용자"및 "주제". 인증을 시도했기 때문에 사용자는 사용자 관련 사이트에만 액세스 할 수 있었고 주제는 앱의 주제 관련 부분에만 액세스 할 수있었습니다.

첫 번째 오류 중 하나는 오류입니다. 그러나 나는 그것을 고쳤고 내가 어떻게했는지 설명하려고 노력할 것이다. 사용자가 로그인 한 경우 내 앱은 주제와 관련된 인증 방법을 알지 못했습니다. 그리고 그 반대도 마찬가지입니다. 응용 프로그램에서 토픽이 서명 된 경우 사용자 관련 인증 방법을 알지 못했습니다 (나는 User.user_id 또는 Topic.be_topic을 요구했습니다)

이 문제를 해결하기위한 단서는 : "user_signed_in"이라는 메서드를 만들고 IF 메서드를 통해 인증을 실행했습니다.

IF user_signed_in 
    user.user_id > 0 
ELSE 
    topic.be_topic == true 
END 

당신을 도울 희망. 나는 Rails를 처음 사용합니다. 깊은 지식이 부족한 것을 용서해주십시오.

관련 문제