设置工厂女孩与测试::单位和应该

Nol*_*nDC 16 ruby ruby-on-rails shoulda testunit factory-bot

我正在尝试在Ruby on Rails中使用Test :: Unit和Shoulda设置Factory Girl.我已经安装了gem,在test/factories目录下创建了我的工厂文件,并在test/models目录下创建了我的spec文件.我得到的当前错误是'ArgumentError:No such factory:test',这让我相信test_factory.rb文件没有被加载?知道我应该改变什么?

这是我的文件.

#test/factories/test_factory.rb
Factory.define :test do |t|  
  t.name 'test_spotlight'  
  t.label 'test spotlight label'  
end
Run Code Online (Sandbox Code Playgroud)

#test/modes/test_spec.rb
require 'test_helper'
require 'factory_girl'
class TestTest < Test::Unit::TestCase
  def setup
    @test = Factory.build(:test)
  end

  context "A test" do
    should "save with the minimum requirements" do
      assert @test.save
    end
  end 
end 
Run Code Online (Sandbox Code Playgroud)

Ken*_*nny 40

我也在我的一个项目上遇到过这个问题.我不确定是什么导致初始化代码被跳过,但你可以强制加载工厂定义,如下所示:

require 'factory_girl'
Factory.find_definitions
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.