2012-01-22 4 views
1

레일 3.0.11 앱을 3.1.3으로 마이그레이션하는 중입니다. 그리고 여하튼, 이것은 오이 + 셀레늄 설치를 사용할 때 email_spec 수신 이메일의 양을 테스트합니다.email_spec으로 이메일 배달 테스트가 Rails 3.0.11에서 깨졌습니다 -> 3.1.3

config.action_mailer.delivery_method = :test:cache:file 배달 방법으로 시도했습니다. 상관없이 ActionMailer::Base.deliveries은 로그에 따라 심지어 비어있어 이메일이 전송됩니다. 레일 3.0.11로 다시 떨어지면 모든 것이 다시 작동합니다.

편집 : 특정 버전의 경우 here is my Gemfile.lock (오이 기능에는 spork가 사용되지 않음).

단서, 누구?

+0

Gemfile.lock (rails, rspec 및 email_spec 버전)의 관련 내용을 게시하십시오 – Gazler

+0

@ Gazler 물론, 저는 메인 포스트에 링크를 추가했습니다. –

답변

0

시도 설정 :에

ActionMailer::Base.delivery_method = :test 
ActionMailer::Base.perform_deliveries = true 
ActionMailer::Base.deliveries.clear 

당신의 features/support/env.rb 또는 단순히, 우리가 비슷한 문제를 가진 사람들 볼 수 어딘가에 버그 더 : 일부 실제 이메일을 보낼 수 없습니다에 밖으로 눈을 유지 https://github.com/bmabey/email-spec/issues?sort=created&direction=desc&state=open&page=1

가 이유 (버그 등)

delivery_method - 전달 방법을 정의합니다. 가능한 값은 smtp (기본값), : sendmail, : test 및 : file입니다. 또는 사용자 지정 배달 메서드 개체를 제공 할 수 있습니다. MyOwnDeliveryMethodClass.new. 맞춤 배달 에이전트를 구현하기 위해 필요한 인터페이스에 대한 Mail gem 문서를 참조하십시오.

perform_deliveries - 메일 메시지 또는 작업 메일러 방법으로 .deliver를 호출 할 때 전자 메일이 실제로 작업 메일러에서 전송되는지 여부를 결정합니다. 이것은 기본적으로 설정되어 있지만 기능 테스트를 돕기 위해 해제 할 수 있습니다.

deliveries - delivery_method : test를 사용하여 Action Mailer를 통해 발송 된 모든 이메일의 배열을 유지합니다. 단위 테스트 및 기능 테스트에 가장 유용합니다.