Ho iniziato a creare un motore Rails 3.1, e ho difficoltà a testarlo usando rspec.Testing Rails 3.1 motore montabile con Rspec
Prima di tutto, se corro rails g integration_test whatever
crea un test di integrazione regolare nei test/integrazione al posto di spec/richieste (RSpec-rails gemma è installato e necessario come una dipendenza di sviluppo nel file gemspec)
Inoltre, quando eseguo un test delle specifiche, viene visualizzato un errore che indica che la tabella corrispondente al modello che sto testando non è stata creata. Ho provato rake engine_name:install:migrations
ed eseguito rake db:migrate
dall'interno dell'applicazione fittizia e ottengo un errore "esiste già una tabella".
Tutto sembra disconnesso, sento che mi manca qualcosa qui per rendere la gemma rspec perfettamente funzionante come di solito con le applicazioni complete di rail.
Ho seguito tutte le modifiche da qui http://rubyx.com/2011/03/01/start-your-engines e posso testare manualmente il motore avviando l'app fittizia tramite la console come mostrato qui http://railscasts.com/episodes/277-mountable-engines.
C'è un modo per rendere rspec l'impostazione predefinita per testare un motore di rails 3.1?
In rails 3.2 alcuni di questi sono stati risolti, ma ho sempre dimenticato come migrare il database di test. Per eseguire le migrazioni nel database di test, esegui l'applicazione 'rake: db: test: prepare' nella directory del tuo gem. – Andrew
Ho appena implementato il metodo in questo articolo senza problemi. http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl – jspooner