我使用的是最新版本的Ruby(2.0.0)和Minitest(5.0.8)。
我正在寻找一种创建2种方法的方法,包括之前和之后。 before方法应该在Minitest甚至在测试用例上启动之前运行,并且应该在测试的 ALL 完成之后运行。
我已经使用了在每次单独测试之前和之后运行的setup()和teardown()方法,但我正在寻找包含整个Minitest套件的东西。
我见过:
Ruby Minitest: Suite- or Class- level setup?
和
Before/After Suite when using Ruby MiniTest
Minitest的最新版本都已过时。
这还有可能吗?
答案 0 :(得分:5)
before
方法很简单,您只需将测试设置配置为在Minitest启动之前调用方法。
可以使用Minitest API提供的方法after
来实现Minitest.after_run(&block)
方法。例如:
Minitest.after_run do
puts 'All tests finished'
my_method_call()
end
答案 1 :(得分:0)
你可能想看看minitest-hooks。 minitest-hooks使用before(:all)
和after(:all)
扩展minitest,当你描述块的结构是平的时,它会做你想要的。如果您有嵌套的描述块,则可能需要an approach that is similar to Thiago's answer。