我想在每次测试运行之前清除 db
,我应该在哪里放置脚本来实现此行为?
答案 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'
。
这样,在您运行的每个测试之前,将执行设置代码。
这是否可以解释我在第一个答案中写的更多内容?