由于我无法弄清楚的原因,我的数据库在每次测试后都没有得到清理。 我依靠 config.use_transactional_fixtures = true
但那不起作用,所以我选择了database_cleaner,但那也不行。
我已根据自述文件配置了数据库清理程序:
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.strategy = :deletion
DatabaseCleaner.clean_with(:truncation)
end
config.around(:each) do |example|
DatabaseCleaner.cleaning do
example.run
end
end
end
但是这个测试失败了:
describe "db_cleaner" do
it "should clean db" do
FactoryGirl.create :question
expect(Question.all.count).to eq(1)
end
end
与
Failure/Error: expect(Question.all.count).to eq(1)
expected: 1
got: 7
(并且每次都会继续增加)
我用
调用测试bin/rspec spec/models/concerns/results_compiler_spec.rb:12
我正在跑步
rspec-rails 2.99.0
rails 4.2.0
factory_girl_rails 4.5.0
database_cleaner 1.4.1
任何帮助都非常感激。
答案 0 :(得分:0)
我从来没有在这个特定的项目中找到答案,但我在最近的一个项目中发现了它,并发现这是因为我要包括
require 'rails_helper'
在我的规范中。
(带有它的规格清洁很好,规格没有没有)