Tengo 30 especificaciones de mi foo_controller_spec.rb y cuando ejecuto el archivo completo utilizando especificaciones, consigo 4 fracasos y 2 en espera. Cuando ejecuto las 4 especificaciones que fallan individualmente, 3 de ellas todavía fallan, pero una de ellas pasa. Al principio, pensé que era un problema de base de datos, que los datos no se estaban limpiando correctamente entre las ejecuciones. Así que instalé database_cleaner (http://github.com/bmabey/database_cleaner) y se añade el código a mi spec_helper:especificación persona pasa cuando se ejecuta solo, pero falla cuando se ejecute todas las características
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
Sham.reset
login
end
config.after(:each) do
DatabaseCleaner.clean
end
Ahora en que funciono mi especificaciones puedo ver que las tablas se truncan entre cada especificación, así que sé que está funcionando, pero la especificación sigue sin cuando se ejecuta con todas las demás especificaciones pero pasa cuando se ejecuta solo. ¿Que me estoy perdiendo aqui?
Niza solución! Tuve el mismo problema y descubrí que un "incluir Foo" fuera de cualquier bloque de descripción estaba haciendo que esos métodos estuvieran disponibles para todas las especificaciones. Esto enmascaró una falla al ejecutar el conjunto como un todo. – r00k
¿cómo podría probar esto con Sublime Text en mi Terminal? – Ricbermo