0
나는 최근에 내 RSpec에 출력 사이에 다음과 같은 오류 메시지가 표시하기 시작했습니다
:이 테스트가 실패하지 않습니다메일러는 던지는 정의되지 않은 [] RSpec에 레일 전무에 대한
undefined method [] for nil:NilClass
참고, 그냥이 오류 메시지를 넣습니다 버퍼 나는 그것이 우편물 때문에 일어났다는 것을 추적 할 수 있었다. 그러나, 나는 그것이 생산 될지도 모르는 곳이나 백 트레이스를 볼 수있는 어떤 방법을 찾을 수없는 것처럼 보입니다.
변명 큰 붙여 넣기,하지만 난 모든 관련 코드가 포함되어 있는지 확인하고 싶었 : 어떤 도움
이## app/models/invite.rb
class Invite < ActiveRecord::Base
include Token
belongs_to :account
after_create :send_email
def send_email
InviteMailer.invite(self).deliver
end
end
## app/mailers/invite_mailer.rb
class InviteMailer < ActionMailer::Base
def invite(invite)
@invite = invite
@account = invite.account
mail to: invite.email, subject: "You're invited to help manage #{@account.name}"
end
end
## spec/models/invite_spec.rb
require 'spec_helper'
describe Invite do
let(:account){create(:account)}
it 'mails the user' do
account.invites.create(email: '[email protected]')
end
end
## config/environments/test.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :test
## Test Results
› be rspec spec/models/invite_spec.rb
undefined method `[]' for nil:NilClass
undefined method `[]' for nil:NilClass
.
Finished in 0.79803 seconds
1 example, 0 failures
Randomized with seed 46468
감사합니다,이 사람이 날 미치게되었습니다.
나는 불행히도 콘솔에서도이를 확인했으며, 수동으로 초대장을 만들 때 오류 메시지가 표시 될 수도 있다고 생각했습니다. – Matthew
예, 코드가 정상적으로 보입니다. 이상합니다. 최근에 rspec-rails를 업데이트 했습니까? 어쩌면 그들이 말하는 것을 볼 수 있습니다. 너는 무언가에 비틀 거렸을지도 모른다. – fontno