首页 > 解决方案 > rails 如何在没有 rspec 的测试之前加载测试夹具?

问题描述

现在,我有一个看起来像这样的单元测试:

class ModelTest < ActiveSupport::TestCase
  # fixtures are not loaded yet
  # would like to setup something here ONCE (not once for every test)
  context 'test1' do
    #fixtures are not loaded in here either
    should 'test1 test1' do
      #fixtures are only loaded in here
     end
  end
end

正如评论所暗示的那样,我想在所有测试运行之前设置一次(不是每个测试一次),但为了这样做,它需要在test/fixtures测试范围之外和之前加载文件夹中定义的固定装置测试甚至运行。有没有办法做到这一点?

标签: ruby-on-railsruby

解决方案


你可以使用before(:suite)钩子。它只会被调用一次。

before(:suite) do
  #load test/fixtures here
end

推荐阅读