私は標準的な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)>'
すると、ちょうどそれがすべての少し奇妙にするには、私は、先割れスプーンの実行の有無にかかわらず、個々のディレクトリやスペックを実行することができますすべてが何の問題もありません。例えば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が大好きです。 –
工場とテストコードがなければ、この質問に答えることは難しいです。 – Wes