メールをテストするためのパッケージがあります。しかし、今のところ、Laravel 5.4。*をreqsに指定していないため、作業を開始するのに少し創造的でなければなりません。だから、あなたのcomposer.json
ファイルに移動して、Laravel 5.4の更新された要件をこのレポから独自のパッケージをビルド*このように:。
"repositories": [
{
"type": "package",
"package": {
"name": "spinen/laravel-mail-assertions",
"version": "0.1.2",
"require": {
"php": ">=5.5.0",
"illuminate/support": "~5.1.10|5.2.*|5.3.*|5.4.*",
"swiftmailer/swiftmailer": "~5.1"
},
"require-dev": {
"mockery/mockery": "^0.9.1",
"phpunit/phpunit": "~4.0|~5.0",
"psy/psysh": "^0.5.1",
"satooshi/php-coveralls": "^0.6.1",
"symfony/var-dumper": "~2.7|~3.0"
},
"autoload": {
"psr-4": {
"Spinen\\MailAssertions\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Spinen\\MailAssertions\\": "tests"
}
},
"config": {
"preferred-install": "dist"
},
"dist": {
"url": "https://github.com/spinen/laravel-mail-assertions/archive/0.1.1.zip",
"type": "zip"
}
}
}
],
その後、require-dev
の下で、カスタムパッケージを追加します。
"require-dev": {
"spinen/laravel-mail-assertions": "^0.1.2"
},
これをインストールしたら、.env
ファイルにMAIL_DRIVER=log
と設定して、Spinen\MailAssertions\MailTracking
の特性をテストに引き出します。この特性には、seeEmailContains
,seeEmailSubjectContains
などのメソッドがあり、送信された電子メールにテキストが存在することを主張します。
解決策はありますか? – poldixd