rails / minitest不为选择的测试加载灯具

时间:2016-11-22 19:32:42

标签: ruby-on-rails ruby minitest fixtures

我的测试是使用灯具编写的,我正在慢慢地重构它们以改为使用工厂。

一旦我重构了一个不使用灯具的测试类,我就不想加载那个类的灯具了。有没有办法做到这一点?或者我是坚持要么加载它们还是什么都没有?

对于上下文,以下是我的灯具现在的设置方式:

class ActiveSupport::TestCase
   Rake::Task["db:fixtures:load"].execute
   ...
end

2 个答案:

答案 0 :(得分:5)

将灯具放入test/fixtures/users.yml

然后,您可以在需要的地方添加它们,例如在spec_helper

# spec_helper.rb
fixtures :all   # include all fixtures
fixtures :users # include only specific fixtures

Doc: fixtures method

P.S。它可以与FactoryBot gem(例如FactoryGirl)一起很好地工作

答案 1 :(得分:2)

您应该能够为这样的测试用例选择性地加载夹具:

class ActiveSupport::TestCase
  ActiveRecord::FixtureSet.create_fixtures('test/fixtures', %w[units owners guests])
  ...
end