Che*_*rot 3 unit-testing ruby-on-rails-3
我想db在每次测试之前清除我的运行,我应该在哪里放置脚本来实现这种行为?
虽然我无法想象你为什么要这样做,也许你可以试试这个:https://github.com/bmabey/database_cleaner
在任何情况下,每次测试之前可以调用的语句都应该放在调用setup中:
setup do
# statements executed on start of every test
end
Run Code Online (Sandbox Code Playgroud)
更新:解释一下:
您可以做的一件事就是在您的test_helper.rb文件中:
class ActiveSupport::TestCase
### Common setup for all tests ###
setup do
# write code to clean up your database here
end
end
Run Code Online (Sandbox Code Playgroud)
然后在您的实际测试文件中,ActiveSupport::TestCase您只需要从中获得测试类require 'test_helper'.
这样,在您运行的每个测试之前,将执行设置代码.
这是否解释了我在第一个答案中所写的内容?