rails 3 unit test - 定义在每次测试之前运行的常规设置方法

时间:2012-04-20 15:59:46

标签: ruby-on-rails-3 unit-testing

我想在每次测试运行之前清除 db ,我应该在哪里放置脚本来实现此行为?

1 个答案:

答案 0 :(得分:6)

虽然我无法想象你为什么要这样做,但也许你可以试试这个:https://github.com/bmabey/database_cleaner

在任何情况下,每次测试之前可以调用的语句都应该放入调用setup:

setup do
    # statements executed on start of every test
end

更新:再解释一下:

您可以做的一件事就是在test_helper.rb文件中:

class ActiveSupport::TestCase

  ### Common setup for all tests ###
  setup do
      # write code to clean up your database here
  end

end

然后在您的实际测试文件中,您从ActiveSupport::TestCase获得的测试类只需要require 'test_helper'

这样,在您运行的每个测试之前,将执行设置代码。

这是否可以解释我在第一个答案中写的更多内容?