Rails 5测试全局设置和拆卸

时间:2016-05-09 02:59:10

标签: ruby-on-rails ruby

我正在使用开箱即用的Rails 5 beta版香草测试套件。我想知道是否有人已经想出如何运行全局设置,并拆除。

我需要在任何测试开始之前启动内存Elasticsearch集群,并在测试完成后停止集群。

Rspec不是一种选择。

2 个答案:

答案 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