首页 > 解决方案 > Mini Test 和 Rails 6:在不同的测试中重用变量

问题描述

你如何声明一个可以在不同测试中持续存在的变量?例如我有以下

setup do 
  @payload = {...}
  @another_payload = {...}
end

在一个控制器上,如果我需要使用它们,我最终会将它们复制到另一个控制器,有没有办法让它们在测试中持续存在?

标签: ruby-on-railstddminitest

解决方案


您可以使用关注来执行此操作:

# test/supports/payload_setup.rb
module PayloadSetup
  extend ActiveSupport::Concern

  included do
    setup do 
      @payload = {...}
      @another_payload = {...}
    end
  end
end

# some_test.rb
class SomeTest < ActiveSupport::TestCase
  include PayloadSetup

  test 'some test' do
    ...
  end
end

推荐阅读