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

sto*_*elj 8 ruby ruby-on-rails fixtures minitest

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

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

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

class ActiveSupport::TestCase
   Rake::Task["db:fixtures:load"].execute
   ...
end
Run Code Online (Sandbox Code Playgroud)

its*_*lay 5

把装置放进去 test/fixtures/users.yml

然后,您可以将它们包含在您需要的位置,例如 spec_helper

# spec_helper.rb
fixtures :all   # include all fixtures
fixtures :users # include only specific fixtures
Run Code Online (Sandbox Code Playgroud)

Doc:灯具方法

PS它与FactoryBot gem(例如FactoryGirl)很好地配合使用


Jon*_* M. 4

您应该能够有选择地加载测试用例的装置,如下所示:

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

  • 谢谢你!我已经离开这个项目很久了,现在没有时间验证它是否有效。如果其他有这个问题的人想验证它对他们是否有效,我会批准。 (2认同)