我正在使用Ruby on Rails 3中的Rspec(2.11.0)和FactoryGirl(4.0.0)进行TDD/BDD。我有一个用于Category模型的工厂:
FactoryGirl.define "Category" do
factory :category do
name "Foo"
end
end
如果我在测试环境中删除、创建然后迁移数据库,我会得到以下错误:
rake aborted!
Could not find table 'categories'
这个问题的原因是由于FactoryGirl期望表格已经存在(出于某种奇怪的原因)。如果我从我的Rails应用程序中移除spec文件夹并运行db:migrate
,它就可以工作。如果我将Gemfile
中的factory-girl-rails
标记为:require => false
也可以工作(然后我必须注释掉require才能运行rspec)。我在这里找到了有关此问题的一些信息:https://github.com/thoughtbot/factory_girl/issues/88 我是否做错了什么?如何在
db:migration
任务中“绕过”FactoryGirl阶段?