spinen / laravel-mail-assertions
此包已被放弃,不再维护。没有建议的替代包。
PHPUnit 邮件断言,用于测试 Laravel 中的电子邮件。
1.4.0
2023-03-18 02:53 UTC
Requires
- php: >=8.1
- illuminate/container: ~9|~10
- illuminate/mail: ~9|~10
- phpunit/phpunit: ^9.0
- swiftmailer/swiftmailer: ~6.2
Requires (Dev)
- egulias/email-validator: ^2.1.16
- laravel/pint: ^1.6
- mockery/mockery: ^1.5.1
- psy/psysh: ^0.11.1
- symfony/var-dumper: ^6.2
README
注意:这是基于名为 "使用自定义断言测试电子邮件" 的视频,由 Jeffrey Way 在 Laracasts.com 上制作。如果您没有该网站的账户,那么您应该创建一个。这是一个非常棒的资源。我们只是将那个例子拿过来,并使其成为一个易于安装的包。谢谢 Jeffrey!
PHPUnit 邮件断言,用于测试 Laravel 中的电子邮件。
构建状态
分支 | 状态 | 覆盖率 | 代码质量 |
---|---|---|---|
开发 | |||
主分支 |
安装
在您的开发依赖项中安装此包
$ composer require spinen/laravel-mail-assertions --dev
配置
为了使包能够对您的电子邮件进行断言,它必须能够“读取”消息。它通过解析 Laravel 日志来实现这一点,因此您的邮件驱动程序必须是“log”才能使此包正常工作。
用法
您可以将断言与 Spinen\MailAssertions\MailTracking
特性混合。您将获得以下断言...
- seeEmailBcc
- seeEmailCc
- seeEmailContains
- seeEmailContentTypeEquals
- seeEmailCountEquals
- seeEmailDoesNotContain
- seeEmailEquals
- seeEmailFrom
- seeEmailPriorityEquals
- seeEmailReplyTo
- seeEmailSubjectContains
- seeEmailSubjectDoesNotContain
- seeEmailSubjectEquals
- seeEmailTo
- seeEmailWasNotSent
- seeEmailWasSent
注意:如果有多个电子邮件发送,则断言将查看最后一封电子邮件。
示例
<?php use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; use Spinen\MailAssertions\MailTracking; class ExampleTest extends TestCase { use MailTracking; /** * A basic functional test example. * * @return void */ public function testBasicExample() { $this->visit('/route-that-sends-an-email') ->seeEmailWasSent() ->seeEmailSubject('Hello World') ->seeEmailTo('foo@bar.com') ->seeEmailEquals('Click here to buy this jewelry.') ->seeEmailContains('Click here'); } }