在MiniTest中的所有测试中,如何在每个测试用例之前运行代码?

问题描述 投票:6回答:3

我需要在MiniTest的所有测试中的每个测试之前运行代码。

在我这样做之前:

MiniTest::Unit::TestCase.add_setup_hook do
   ...code to run before each test
end

我将MiniTest升级到版本4.7.2后,它显示以下错误:

undefined method `add_setup_hook' for MiniTest::Unit::TestCase:Class (NoMethodError)

我正在使用Ruby MRI 2.0.0p0。

SOLUTION

module MyMinitestPlugin
  def before_setup
    super
    # ...code to run before all test cases
  end

  def after_teardown
    # ... code to run after all test cases
    super
  end
end

class MiniTest::Unit::TestCase
  include MyMinitestPlugin
end
ruby minitest
3个回答

2
投票

我认为您正在寻找before_setup方法。


0
投票

2019年更新

不要为此编写插件,插件仅用于扩展Minitest功能的gem,而不适用于测试作者。

如果编写最小测试规范,则可以执行以下操作:

setup()
© www.soinside.com 2019 - 2024. All rights reserved.