迷你测试和 Rails 6:在不同的测试中重复使用变量

Mini Test and Rails 6: Re-use variables on different tests

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

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

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

您可以使用 Concern 来做到这一点:

# 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