【问题标题】:rails/minitest don't load fixtures for select testsrails/minitest 不为选择测试加载夹具
【发布时间】:2016-11-22 19:32:41
【问题描述】:

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

一旦我重构了一个测试类以不使用固定装置,我就不想为该类加载固定装置。有没有办法做到这一点?还是我坚持要么为所有内容加载它们,要么什么都不加载?

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

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

【问题讨论】:

    标签: ruby-on-rails ruby minitest fixtures


    【解决方案1】:

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

    然后你可以将它们包含在你需要的地方,例如spec_helper

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

    Doc: fixtures method

    附:它与 FactoryBot gem(例如 FactoryGirl)配合使用效果很好

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 谢谢!我早就离开了这个项目,没有时间验证它现在是否有效。如果其他人有这个问题想验证它对他们有用,我会批准。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 2023-03-24
      • 2021-07-24
      相关资源
      最近更新 更多