ruby-on-rails Rails单元测试:定义在每次测试之前运行的常规设置方法

u4dcyp6a  于 2023-05-02  发布在  Ruby
关注(0)|答案(1)|浏览(109)

我希望在运行每个测试之前清除数据库。我应该把实现这种行为的脚本放在哪里?

yzckvree

yzckvree1#

虽然我不知道你为什么要这样做,但也许你可以试试这个: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'
这样,在您运行的每个测试之前,都将执行设置代码。
这是否能更好地解释我在第一个答案中所写的内容?

相关问题