È a mia conoscenza che l'ambiente di test di Rails viene rimosso e ricostruito prima di ogni test ... quindi come faccio a testare un controller che richiede che un utente sia connesso e che l'utente possa? essere creato senza che il modulo confermabile di Device interferisca?Test (RSpec) con modulo confermabile di Devise
Devise's recommended method (sotto) crea un nuovo utente che viene quindi inviato tramite e-mail dal modulo confirmable
di Devise. Come faccio ad aggirare questo, quindi non sto 'creando' un utente ogni volta ... o se sono in grado di ottenere un oggetto da testare senza "simulare" una nuova email per ogni specifica?
before(:each) do
@user = Factory.create(:user)
sign_in @user
end
sono sicuro che sto affaccia qualcosa di dolorosamente ovvio come questo deve essere una specifica molto comune per chiunque utilizzi Devise con confermabile ...
si potrebbe anche spostare la creazione del l'utente ad una 'prima (: all) 'blocca, per velocizzarlo ... – iain
Ho dovuto aggiungere' config.action_mailer.default_url_options = {: host => 'localhost: 3000'} 'per ottenere test da eseguire ... altrimenti' test.rb' è la caldaia piatto, per quanto ne so.Solo le configurazioni relative alla posta in 'test.rb' o' environment.rb' sono: 'config.action_mailer.delivery_method =: test'. – Meltemi
quindi 'ActionMailer :: Base.delivery_method =: test' è diverso in qualche modo rispetto all'auto-generato' config.action_mailer.delivery_method =: test' ?? – Meltemi