我正在使用activerecord-sqlserver-adapter gem 连接到我的 rails 应用程序中的 2008 SQL Server 数据库。请注意,我确实使用“建立连接”连接到整个应用程序中的多个数据库。我使用 rSpec 来测试我的应用程序,并且我想从 rSpec 创建的数据库中删除条目。我四处搜索,发现database_cleaner gem 可以解决我的问题,所以我包含了 Gem 并设置了我的 railsappname/spec/spec_helper.rb,如下所示:
require 'database_cleaner'
RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
FactoryGirl.reload
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
我还将以下行更新为错误
config.use_transactional_fixtures = false
到我的 rails_helper.rb RSpec.configure 块,因为那是该行最初的位置。
我也尝试将我的策略更改为 :truncation ,但这并没有产生什么影响。测试完成后,数据仍在插入数据库中,不会被删除。这是对 activerecord-sqlserver-adapter 的限制吗?是否有解决方法?这个问题是由于我在我的应用程序中连接到多个数据库而引起的吗?我已经用谷歌搜索了一段时间,没有看到其他人遇到同样的问题,所以非常感谢任何建议!