【发布时间】:2015-02-19 01:10:13
【问题描述】:
为什么这个配置似乎同时清理了我的test 和development 数据库?每次运行 rspec 时都必须重新设置 development,这很烦人。
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
database.yml
development:
adapter: postgresql
database: m_development
encoding: utf8
pool: 5
username: booltox
password:
test:
adapter: postgresql
database: m_test
encoding: utf8
pool: 5
username: booltox
password:
【问题讨论】:
-
你能告诉我们你的
database.yml吗? -
我敢打赌,您的
database.yml中的test和development具有相同的数据库配置。如果是这样,请为两种环境定义不同的数据库。 -
另一个可能的原因是你有
RAILS_ENV='develop'spec_helper.rb -
@dgilperez 是的,那行也不在我的 spec_helper 中。或 test.rb。
-
我建议你修改你的 database.yml 文件,使开发配置不再有效(例如错误的用户名、错误的密码、错误的数据库名称或不存在的条目。)。如果您确实在测试期间访问了开发数据库,您应该会看到一个异常,可以让您诊断正在发生的事情。
标签: ruby-on-rails ruby-on-rails-4 rspec database-cleaner