【发布时间】:2016-10-18 22:27:38
【问题描述】:
我已经安装了database_cleaner 并在我的所有测试中正常运行,除非它遇到这个......
scenario "is coach, signs up, email not in const, requests admin status" do
user_sign_in(user1)
visit my_profile_users_path
click_button "Request Admin Status"
expect(ActionMailer::Base.deliveries.count).to eq(1)
end
Rails 返回 失败/错误:expect(ActionMailer::Base.deliveries.count).to eq(1) 预期:1 得到:137 (使用 == 比较)
不知道为什么数据库清理器在这个实例上失败或如何修复它。任何帮助,将不胜感激。
Gemfile.rb
group :test do
gem 'coveralls', require: false
gem 'database_cleaner'
gem 'launchy', require: false
end
spec/support/database_cleaner.rb
# frozen_string_literal: true
RSpec.configure do |config|
config.before(:each) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
config.after(:each) do
end
end
rails_helper.rb
require 'spec_helper'
require 'rspec/rails'
require_relative "../spec/support/database_cleaner"
spec_helper.rb
require 'database_cleaner'
【问题讨论】:
-
1) 你如何确定
database_cleaner有问题? 2) 您是否尝试过在本规范开始时清除所有交付,以确保没有发生什么奇怪的事情?
标签: ruby-on-rails ruby actionmailer database-cleaner