我想在我运行的每个测试之前清除我的 db
,我应该将实现此行为的脚本放在哪里?
最佳答案
虽然我无法想象你为什么要这样做,也许你可以试试这个:https://github.com/bmabey/database_cleaner
在任何情况下,在每次测试之前可以调用的语句应该放在对设置的调用中:
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'
。
这样,在您运行的每个测试之前,都会执行设置代码。
这是否更能解释我在第一个答案中所写的内容?
关于ruby-on-rails-3 - rails 3 单元测试 - 定义将在每次测试之前运行的通用设置方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10249547/