我有一个裸的Rails 3应用程序,其中只有一个模型,使用rails g model User
生成。
我添加了一个工厂(使用factory_girl_rails
):
Factory.define :user do |f|
f.email "test@test.com"
f.password "blah"
f.password_confirmation "blah"
f.display_name "neezer"
end
然后我添加了一个测试:
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
然后我使用rake db:migrate
迁移我的数据库。
接下来我使用rspec spec
运行测试,但测试失败了并且报错如下:
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)>'
我很困惑,因为我刚迁移了我的数据库,而我的schema.db
文件反映出有一个用户表存在,那么出了什么问题?
我知道这是一个初学者的问题,但是一直试错并没有起作用...
factory_girl (1.3.3)
factory_girl_rails (1.0.1)
rails (3.0.5)
rspec-rails (2.5.0)
sqlite3 (1.3.3)