2016-10-18 3 views
0

меня установлен database_cleaner и функционирование всех моих тестов, за исключением, когда он встречает это ...Rails тест водосвинка неудачу из-за неисправности 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 возвращает Сбой/Ошибка: ожидать (ActionMailer :: Base. deliveries.count) .то экв (1) ожидается: 1 получил: 137 (по сравнению с использованием ==)

Не знаю, почему уборщик база данных не будет работать на этом одном случае, или как это исправить. Любая помощь будет оценена по достоинству.

Gemfile.rb

group :test do 
    gem 'coveralls', require: false 
    gem 'database_cleaner' 
    gem 'launchy', require: false 
end 

спецификации/поддержка/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' 
+0

1) Как вы точно знаете, что это проблема с 'database_cleaner'? 2) Пробовали ли вы очистить все поставки в начале этой спецификации, чтобы убедиться, что нет ничего странного? –

ответ

0

Я считаю, что я решил это, изменив тест.

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.last.subject).to have_content("#{user1.username} requested admin") 
end 
Смежные вопросы