使用 Rails 3.2.13 和 Test::Unit (如果我理解正确的话,实际上是由 MiniTest 实现的),我看到运行测试后夹具数据保留在数据库中。我希望有一种方法可以设置它,以便在测试运行后数据库是干净的。
这是我的 test_helper.rb 文件,其中提到了事务性装置:
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
class ActiveSupport::TestCase
self.use_transactional_fixtures = true
fixtures :all
end
class ActionController::TestCase
include Devise::TestHelpers
end
我曾希望 use_transactional_fixtures 能解决问题,但要么我的希望落空了,要么我做错了。你能让我指出正确的方向吗?还是我希望做一些不常见的事情?