테스트, 테스트, 테스트 환경에서 전자 우편은 개신기를 통해 발송된다
묘사
어떤 이유로 rspec와cucumber가 달리기를 할 때 LetterOpener가 사용하기 시작했다.불행하게도, 우리는 대량의 전자메일 (사용자 생성, 친구 요청 등) 을 보냈는데, 개신기를 통해 열린 탭의 수가 수십 개에서 수백 개에 달했다.
Gemfile
group :development do
gem 'letter_opener', '1.0.0'
구성/환경/개발.rb config.action_mailer.delivery_method = :letter_opener
구성/환경/테스트rb config.action_mailer.delivery_method = :test
config/environments/cumber.rb config.action_mailer.delivery_method = :test
config/environment에서 opener가 언급되지 않았습니다.rb.토론 #1
@calebthompson은 상당히 이상합니다.당신은 이 문제를 재현하기 위해 간단한 프로그램을 만들 수 있습니까?이것은 매우 도움이 될 것이다.감사합니다.토론 #2
그럼요.Gem 파일에서 letter opener를 잠시 삭제하고 이 기능들을 실행할 뿐입니다. 금요일에 복사할 수 있는지 확인하겠습니다.이 문제는 완전히 우리의 설정에 있을 수 있다.나는 확실히 난간을 검사한 적이 있다.vv는 규격과 기능이 올바르기 때문에'cumber'와 가능한'test'환경에서'development'Gem 그룹을 불러오는 것 같습니다.
토론 #셋
빠른 검색으로 이걸 주셨어요.https://github.com/cucumber/cucumber-rails/issues/222토론 #4
cucumber와rspec에서 환경이 예상과 일치합니다("cucumber"와 "test").만약 내가 발견한 것이 있다면, 나는 다시 너에게 전화할 것이다. 아마도 이 문제를 보여 주는 예시 프로그램이 있을 것이다.토론 #5
이것도 나한테 일어났어.보자기를 하나 던졌다.나의 오이 특징 중 하나를 물어보면 환경이 발전하고 있다고 보고한다.또한rake
를 통해 실행 중입니다.(안녕, 켈러, 점원! 새해 복 많이 받으세요!)
토론 #6
조엘, 나는 이것이 나와 다른 문제라고 생각한다. (더 효과적일 수도 있지만) 환경이 나에게 정확하기 때문이다.오이 궤도 문제 좀 봐.카레브 톰슨
참새와 함께 보내다(http://www.sparrowmailapp.com/?sig)
2012년 12월 31일 월요일 밤 11:38, 조엘 올리비에라는 다음과 같이 썼다.
새해 복 많이 받으세요
카레브 톰슨
참새와 함께 보내다(http://www.sparrowmailapp.com/?sig)
2012년 12월 31일 월요일 밤 11:40에 켈러 톰슨은 다음과 같이 썼다.
This is happening to me too. Threw a binding.pry in the middle of one of my cucumber features and it's reporting that the environment is development. Also - It's being run via rake. (Hi Caleb, buddy! Happy new year!)
— Reply to this email directly or view it on GitHub (https://github.com/ryanb/letter_opener/issues/57#issuecomment-11787443).
토론 #7
이것은 간헐적인 문제인 것 같다.더 이상 달리기토론 #8
나 달리기cucumber
가 아니다.이것은 실행 rspec
할 때 발생한 것 같습니다. 이 두 환경을 동시에 실행합니다. 이것은 개발 중에 시작한 다음 테스트나cumber 환경으로 전환했기 때문입니다.불행하게도, 우리는 letter opener를 포기했다. 왜냐하면 우리는 여기에는 도저히 그것을 사용하는 사람이 없다는 것을 깨달았기 때문에, 만약 우리의 설정 중의 어떤 이상한 부분이 문제를 일으켰다면, 그것은 영원히 다시 나타나지 않을 것이다.
약속한 프레젠테이션 프로그램을 만들 시간이 없기 때문에 언제든지 이 프로그램을 닫으십시오.나는 잠시 공개하지 않겠다. 그러면 네가 조사를 결정하면 된다.
rake
@calebthompson 네, 잠시 닫습니다.조사 감사합니다!토론 #9
나는 이 잘못을 겪은 적이 있다.왜 테스트를 실행할 때 전자 우편을 엽니까?토론 #10
규범이나 테스트 조수에 유사토론 #11
의 내용이 없음을 확보한다.만약 네가 있다면 그것을Rails.env ||= 'test'
로 바꾸면 쓸모가 있을 것이다.이런 상황에서 문제는 왠지 모르게 당신의 테스트는 dev 환경에서 시작되었고 이것은 테스트로 이어질 것입니다.
Rails.env = 'test'
@calebthompson에 감사 드립니다. specloads 테스트 환경에서 라크 작업을 실행하면 부하 개발을 할 줄 알았습니다.위대하다다시 한 번 감사 드립니다.토론 #12
문제 없어요.이것은 1년 전 발전기의 오류였는데, 나는 여전히 가끔 그것이 나타나는 것을 보았다.나는 왜 내가 이 문제를 만났을 때 이 점을 생각하지 못했는지 모르겠다.
2013년 10월 30일 수요일 오후 6:37, 마크 랜버트 아가스
[email protected]쓰기:
Joel, I think that's a different (though perhaps more valid) issue than mine, as the environment was correct for me. Check out that cucumber-rails issue for yours.
Caleb Thompson Sent with Sparrow (http://www.sparrowmailapp.com/?sig)
On Monday, December 31, 2012 at 11:38 PM, Joel Oliveira wrote:
This is happening to me too. Threw a binding.pry in the middle of one of my cucumber features and it's reporting that the environment is development. Also - It's being run via rake. (Hi Caleb, buddy! Happy new year!)
— Reply to this email directly or view it on GitHub (https://github.com/ryanb/letter_opener/issues/57#issuecomment-11787443).
토론 #13
는 정말 오래된 문제지만, 나는 방금 이 문제에 부딪혔다.이 예에서 문제는 내가 내 기계에sidekiq를 설치했는데 테스트가 실행될 때sidekiq의 작업을 촉발했고 이 작업은 개발 중이어서 이메일을 보냈다는 것이다.토론 #14
에서 다음을 수행합니다.config.active_job.queue_adapter = :inline
environment/test.rb
나는 다른 사람들이 같은 편지 배달 문제에 직면할 수 있다고 생각한다.이것은 사람들이 범할 수 있는 범하기 쉬운 잘못이다.이로 인해 개봉기 문제가 발생할 뿐만 아니라 데이터가 잘못된 위치에 저장될 수도 있다
이것은토론 #15
와javascript 드라이버를 사용하여selenium처럼 브라우저를 열 수 있습니다
네.기본적으로 railss는 개발 서버를 시작합니다.따라서 규범을 실행할 때 오래 지속되는 데이터베이스는 개발 데이터베이스이고 Rails는 개발 환경의 역할을 할 것입니다.
수정 방법은 Selenium이 필요할 때rails s
사용합니다.이 조작을 완성한 후, 더 이상 개신기를 호출하지 않습니다. 교부 방법은 다음과 같습니다. 규정에 따라 테스트합니다.
그러나, 내가 Poltergeist와 같은 헤더 없는 브라우저를 사용할 때, 나는 여전히 이 문제에 직면해 있다.현재 복구를 위해 노력하고 있다.$rails s -e test
가장 효과적인 수정 사항: 구성에 따라토론 #16
또는rails_helper.rb
```
정의개신기
클래스 LetterOpener::DeliveryMethod
def 배달!(우편물);틀림없다끝맺다
끝맺다
끝맺다
Reference
이 문제에 관하여(테스트, 테스트, 테스트 환경에서 전자 우편은 개신기를 통해 발송된다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/ryanb/letter_opener/issues/57텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)