特征没有注册 - Rspec - 工厂女孩

时间:2013-08-03 13:58:44

标签: ruby-on-rails rspec factory-bot

我有这个文件夹结构:

.
  spec
    factories
      category.rb
      service.rb

但是当我从服务中调用类别时,我收到Trait not registered错误,因为在category.rb之前未加载service.rb

我想在服务中写这个:

require_relative 'category'

会有效,但有一种更简单的方法可以做到这一点,因为我必须在每个文件中require_relative并在每个文件中多次,因为每个模型都有很多关联。

更新

我不能做我在上一段中提到的事情:

require_relative 'category'

FactoryGirl.define do
  factory :service do
    category
  end
end

结果:

Factory already registered: category (FactoryGirl::DuplicateDefinitionError)

2 个答案:

答案 0 :(得分:0)

在我的问题中没有提到,所以这个答案无法从我的问题中推断出来,我发帖完成。

问题是我正在使用zeus服务器,我重新启动了zeus服务器并且工作正常。

答案 1 :(得分:-1)

在我看来,解决方案也是一种更好的做法,就是将所有工厂放在一个文件中,而不是单独的文件。

实际上,如果工厂不是太多,我们不需要太多工厂档案。

将所有定义移至spec/factories.rb,然后删除目录和文件spec/factories