5

我正在使用最新版本的 Ruby(2.0.0) 和 Minitest (5.0.8)。

我正在寻找一种方法来创建 2 个方法,一个之前和一个之后。before 方法应该在 Minitest 甚至在测试用例上开始之前运行,而 after 应该在所有测试完成后运行。

我已经使用了在每个单独测试之前和之后运行的 setup() 和 teardown() 方法,但我正在寻找包含整个 Minitest 套件的东西。

我见过:

Ruby Minitest:套件级还是类级设置?

使用 Ruby MiniTest 之前/之后的套件

它们都与最新版本的 Minitest 过时了。

这还有可能吗?

4

2 回答 2

5

before方法很简单,您只需将测试设置配置为在 Minitest 开始之前调用一个方法。

after方法可以使用Minitest.after_run(&block)Minitest API提供的方法来实现。前任:

Minitest.after_run do
  puts 'All tests finished'
  my_method_call()
end
于 2013-11-07T11:21:16.087 回答
0

你可能想看看 minitest-hooks。minitest-hooks 用before(:all)and扩展了 minitest after(:all),当你的 describe 块的结构是扁平的时,它可以做你想做的事情。当您嵌套了描述块时,您可能希望采用类似于 Thiago 的答案的方法

于 2016-07-21T09:22:10.943 回答