참고: 이는 Jeffrey Way가 Laracasts.com에서 수행한 "사용자 정의 어설션으로 이메일 테스트"라는 제목의 비디오를 기반으로 합니다. 해당 사이트에 계정이 없다면 계정을 만들어야 합니다. 그것은 놀라운 자원입니다. 우리는 방금 그 예를 취하여 설치하기 쉬운 패키지로 만들었습니다. 고마워요 제프리!
Laravel에서 이메일 테스트를 위한 PHPUnit 메일 어설션입니다.
나뭇가지 | 상태 | 적용 범위 | 코드 품질 |
---|---|---|---|
개발하다 | |||
주인 |
개발 종속성 내에 패키지를 설치합니다.
$ 작곡가에는 spinen/laravel-mail-assertions --dev가 필요합니다.
패키지가 이메일에 대해 주장을 할 수 있으려면 메시지를 "읽을" 수 있어야 합니다. 이는 Laravel 로그를 구문 분석하여 수행하므로 이 패키지가 작동하려면 메일 드라이버가 "로그"여야 합니다.
SpinenMailAssertionsMailTracking
특성과 어설션을 혼합합니다. 다음과 같은 주장을 얻습니다 ...
이메일 숨은 참조 참조
이메일 참조 참조
이메일에 포함된 내용을 참조하세요.
이메일 콘텐츠 유형이 같음을 참조하세요.
이메일 개수가 같음을 참조하세요.
이메일에는 포함되지 않음을 참조하세요.
이메일이 같음을 참조하세요.
이메일보낸 사람을 참조하세요.
이메일우선순위가 같음을 참조하세요.
이메일답장을 참조하세요.
이메일제목에 다음 내용이 포함되어 있습니다.
이메일제목이 포함되지 않음을 참조하세요.
이메일제목이 같음을 참조하세요.
이메일을 참조하세요.
이메일이 전송되지 않음을 참조하세요.
이메일이 전송되었습니다를 참조하세요.
참고: 전송된 이메일이 2개 이상인 경우 어설션은 마지막 이메일을 확인합니다.
<?phpuse IlluminateFoundationTestingWithoutMiddleware;use IlluminateFoundationTestingDatabaseMigrations;use IlluminateFoundationTestingDatabaseTransactions;use SpinenMailAssertionsMailTracking;class exampleTest는 TestCase를 확장합니다. {mailTracking 사용;/** * 기본 기능 테스트 예입니다. * * @return void */공용 함수 testBasicExample() {$this->visit('/route-that-send-an-email') ->EmailWasSent()를 참조하세요. ->EmailSubject('Hello World')를 참조하세요. ->EmailTo('[email protected]')를 참조하세요. ->seeEmailEquals('이 보석을 구입하려면 여기를 클릭하세요.') ->seeEmailContains('여기를 클릭하세요'); } }