Tengo una aplicación de rieles desnudos 3 con un modelo, generada usando rails g model User
.Error de RSpec: no se pudo encontrar la tabla después de la migración ...?
He añadido una fábrica (utilizando factory_girl_rails
):
Factory.define :user do |f|
f.email "[email protected]"
f.password "blah"
f.password_confirmation "blah"
f.display_name "neezer"
end
Luego he añadido una prueba:
require 'spec_helper'
describe User do
subject { Factory :user }
it "can be created from a factory" do
subject.should_not be_nil
subject.should be_kind_of User
end
end
Entonces migran mi base de datos usandorake db:migrate
.
Luego ejecutar la prueba usando rspec spec
, y la prueba se produce el siguiente:
Failures:
1) User can be created from a factory
Failure/Error: subject { Factory :user }
ActiveRecord::StatementInvalid:
Could not find table 'users'
# ./spec/models/user_spec.rb:5:in `block (2 levels) in <top (required)>'
# ./spec/models/user_spec.rb:8:in `block (2 levels) in <top (required)>'
Estoy confundido, porque me acaba de migrar mi base de datos y el archivo de schema.db
refleja que existe un usuarios mesa presente, entonces ¿qué da?
Sé que esto es una pregunta principiante, pero golpeando mi cabeza contra una pared no está funcionando ...
factory_girl (1.3.3)
factory_girl_rails (1.0.1)
rails (3.0.5)
rspec-rails (2.5.0)
sqlite3 (1.3.3)
Qué necesito para ejecutar cada vez que hago nuevas migraciones, o sólo lo hace simplemente "Manos a la Obra" la base de datos de prueba? – neezer
solo una vez, es como db: migrar, de hecho siempre lo pongo en una tarea personalizada que hago que migra, carga accesorios, prueba db y más. – Spyros
Cualquier idea de qué hacer si rake db: prueba: prepare * no * soluciona el problema? :( – Raphael