Sto utilizzando Cucumber per scrivere i miei test di integrazione e Database Cleaner per mantenere pulito il mio db. Tutto funziona perfettamente in quanto i miei test non richiedono Javascript.Problema di pulizia del database con il webkit Capybara
Posso eseguire questi ultimi test utilizzando Capybara webkit, ma il mio db non viene pulito.
Ecco il mio caratteristiche/supporto/env.rb del file:
require 'simplecov'
SimpleCov.start 'rails'
require 'cucumber/rails'
Capybara.default_selector = :css
Capybara.javascript_driver = :webkit
begin
require 'database_cleaner'
require 'database_cleaner/cucumber'
DatabaseCleaner[:active_record].strategy = :transaction
rescue NameError
raise "You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it."
end
Before do
DatabaseCleaner.start
end
After do |scenario|
DatabaseCleaner.clean
end
ho provato qualcosa di simile a this per verificare quale driver viene utilizzato da Capybara, ma non ha funzionato. Ho anche provato l'hack menzionato nella terza parte di this post ma poi niente ha funzionato affatto ...
Io davvero non so come raggiungere questo e qualsiasi aiuto sarebbe molto apprezzato.
Grazie in anticipo.
E 'corretto dire che le strategie di transazione non funzionano con cetrioli. Dipende dal driver di Capybara che stai usando. Con il test del rack, tutto è in-process, quindi la strategia di transazione dovrebbe funzionare. –
Andy hai ragione. Dato che ho @javascript abilitato tutto il tempo, mi sono completamente dimenticato del vecchio test del rack. – svyatogor