3

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

4

1 回答 1

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'.

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

这是否更能解释我在第一个答案中所写的内容?

于 2012-04-20T20:31:54.890 回答