Zeus + FactoryGirl::Syntax::Methods. undefined method `create' 宙斯+FactoryGirl::Syntax::Methods。未定义方法'create'。

16

我有:

RSpec.configure do |config|
  config.include FactoryGirl::Syntax::Methods
end

要正确使用简单的rspec spec/model/user_spec.rb(允许我使用create(:user)而不是FactoryGirl.create(:user)),需要使用适当的配置。 但是,如果我使用zeus rspec spec/model/user_spec.rb 来加速我的测试,它会抛出一个错误:

Failure/Error: @user = create(:user)
     NoMethodError:
       undefined method `create' for #<RSpec::Core::ExampleGroup::Nested_2::Nested_1:0x007fc8618e4960>

我该如何在Zeus中使用这个语法?


“zeus rake spec” 对我来说很好用,与factory girl兼容。 - Intrepidd
似乎只有在运行特定的规格时才会出现。我已更新我的问题。 - freemanoid
2个回答

28
如果这些内容存在,则在spec/spec_helper.rb文件中删除它们之一。
require 'rspec/autorun'
require 'rspec/autotest'

你知道这为什么会破坏FactoryGirl吗?这看起来像是一个权宜之计。 - varatis
这也适用于让rspec-fire与zeus一起工作。 - Houen

1
如果您之前在此项目中使用了 Spork,那么您需要删除 Spork 更改的部分。像 @ilake-chang 所说,您需要删除 require 'rspec/autorun',还需要删除 Spork.preforkSpork.each_run

请参阅 Zeus wiki on Spork


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接