Ho un'app standard di Rails 3.2 con un comportamento strano in corso.Spork che causa errore di metodo non definito nella mia app Rails?
Posso eseguire rspec spec/
senza spork in esecuzione e tutti i test non passano alcun problema.
Quindi accendo spork e eseguo di nuovo le specifiche. Questa volta, ogni prova che tocca uno dei miei programmi di posta non verrà effettuata con lo stesso errore:
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)>'
Poi, proprio per rendere il tutto un po 'strano, posso correre singole directory o specifiche, con o senza Spork esecuzione, e tutto passa senza problemi. ad esempio rspec spec/mailers
o rspec spec/models
.
Ecco il metodo che mi è stato detto non è definito:
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
Tutte le idee che cosa potrebbe accadere?
@duckufuzz, hai trovato la soluzione? –
No. Sto pianificando di togliere presto l'app. Amo lo spork quando funziona, ma trovo che non mi fidi più della maggior parte del tempo. –
Senza la fabbrica e il codice di prova è difficile rispondere a questa domanda. – Wes