我希望在运行每个测试之前清除数据库。我应该把实现这种行为的脚本放在哪里?
yzckvree1#
虽然我不知道你为什么要这样做,但也许你可以试试这个:https://github.com/bmabey/database_cleaner在任何情况下,可以在每次测试之前调用的语句都应该放在对setup的调用中:
setup do # statements executed on start of every test end
更新:再解释一下:
你可以在test_helper.rb文件中做一件事:
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'。这样,在您运行的每个测试之前,都将执行设置代码。这是否能更好地解释我在第一个答案中所写的内容?
ActiveSupport::TestCase
require 'test_helper'
1条答案
按热度按时间yzckvree1#
虽然我不知道你为什么要这样做,但也许你可以试试这个:https://github.com/bmabey/database_cleaner
在任何情况下,可以在每次测试之前调用的语句都应该放在对setup的调用中:
更新:再解释一下:
你可以在
test_helper.rb
文件中做一件事:然后在实际的测试文件中,你有从
ActiveSupport::TestCase
派生的测试类,你只需要require 'test_helper'
。这样,在您运行的每个测试之前,都将执行设置代码。
这是否能更好地解释我在第一个答案中所写的内容?