나는 이상한 행동이 계속되는 표준 Rails 3.2 앱을 가지고있다.Spails가 내 Rails 앱에서 정의되지 않은 메소드 오류를 일으 킵니까?
rspec spec/
은 spork 실행없이 실행할 수 있으며 모든 테스트에는 아무런 문제가 없습니다.
그런 다음 나는 스포크를 발사하고 사양을 다시 실행합니다. 이번에는 내 우편물 중 하나를 건 드리면 모든 테스트는 동일한 오류와 함께 실패합니다
Failures:
1) InvitationsController GET accept with non-matching token should redirect to the root path
Failure/Error: let!(:invitation) { Factory :invitation }
NoMethodError:
undefined method `invite' for InvitationMailer:Class
# ./app/models/invitation.rb:29:in `send_email'
# ./spec/controllers/invitations_controller_spec.rb:5:in `block (3 levels) in <top (required)>'
그런 다음, 그냥 모든 조금 괴상, 내가 또는 spork 실행하지 않고, 각각의 디렉토리 또는 사양을 실행할 수 있도록, 모든 것이 아무 문제없이 통과합니다. 예 : rspec spec/mailers
또는 rspec spec/models
. 무슨 일 수
class InvitationMailer < ActionMailer::Base
default from: APP_CONFIG[:default_from]
def invite(invitation)
@invitation = invitation
mail(to: @invitation.recipient_email, subject: "the subject")
end
end
어떤 아이디어 : 여기
내가 정의되지 말했다되고하고있는 방법이다?
@duckufuzz, 해결책을 찾았습니까? –
아니요. 곧 응용 프로그램에서 spork 복용 계획입니다. 그것이 효과가있을 때 나는 spork를 좋아하지 만, 나는 그것을 단지 대부분의 시간 동안 믿을 수 없다는 것을 안다. –
공장 및 테스트 코드가 없으면이 질문에 대답하기 어렵습니다. – Wes