继012xx 的示例后,Rakefile中的task spec: :factory_specs
行告诉rake在“spec”任务之前执行“factory_specs”任务。防止Rake任务依赖从加载Rails两次
我的问题是,rake spec
加载Rails环境两次,一个执行factory_specs任务,然后另一个执行spec任务。
如何防止我的rake命令加载两次Rails?
我的堆栈:
- 红宝石1.9.3p484
- 的Rails 3.2.13
继012xx 的示例后,Rakefile中的task spec: :factory_specs
行告诉rake在“spec”任务之前执行“factory_specs”任务。防止Rake任务依赖从加载Rails两次
我的问题是,rake spec
加载Rails环境两次,一个执行factory_specs任务,然后另一个执行spec任务。
如何防止我的rake命令加载两次Rails?
我的堆栈:
随着FactoryGirl的最新版本,您可以使用FactoryGirl.lint
,而不是在一个单独明确地测试你的工厂耙任务。只要更新到最新版本,并添加到您的spec_helper.rb
:
RSpec.configure do |config|
config.before(:suite) do
FactoryGirl.lint
end
end
更多信息是在Getting Started Guide。
至今为止最好的回答,谢谢! FactoryGirl刚刚在14天前添加了此功能......恰逢其时。 – konyak
耙子已经优化了这个。 (即如果您调用两个任务请求并且两者具有相同的依赖关系,则只调用一次)。事实上,在一个调用链中,相同的任务将永远不会执行多次 – Selva
不适用于我的堆栈和场景。在任务运行之前,每次加载Rails需要大约30秒的时间,而任务本身只需要2秒就可以运行。 – konyak