我正在使用开箱即用的Rails 5 beta版香草测试套件。我想知道是否有人已经想出如何运行全局设置,并拆除。
我需要在任何测试开始之前启动内存Elasticsearch集群,并在测试完成后停止集群。
Rspec不是一种选择。
答案 0 :(得分:4)
在Minitest(这是Rails 4+中的默认测试环境)下,获取"全局设置"行为,只需在您的test_helper.rb
中运行任何内容(在测试本身或任何setup
方法之外),即在您加载测试环境的文件中。测试中通常需要测试帮助程序,因此在任何测试之前它的代码都会运行一次。
对于"全球拆解",Minitest提供 Minitest.after_run
method 。所有测试完成后,其块内的任何内容都将运行一次(它使用程序退出挂钩)。放置它,例如再次在test_helper
。为此,您需要在测试助手文件的开头require 'minitest/autorun'
。
答案 1 :(得分:1)
test/test_helper.rb
class ActiveSupport::TestCase
# Some pre-generated stuff here
setup do
do_something
end
teardown do
do_something
end
end