spinen/laravel-mail-assertions

此包已被放弃,不再维护。没有建议的替代包。

PHPUnit 邮件断言,用于测试 Laravel 中的电子邮件。

1.4.0 2023-03-18 02:53 UTC

README

注意:这是基于名为 "使用自定义断言测试电子邮件" 的视频,由 Jeffrey WayLaracasts.com 上制作。如果您没有该网站的账户,那么您应该创建一个。这是一个非常棒的资源。我们只是将那个例子拿过来,并使其成为一个易于安装的包。谢谢 Jeffrey!

Latest Stable Version Latest Unstable Version Total Downloads License

PHPUnit 邮件断言,用于测试 Laravel 中的电子邮件。

构建状态

分支 状态 覆盖率 代码质量
开发 Build Status Code Coverage Scrutinizer Code Quality
主分支 Build Status Code Coverage Scrutinizer Code Quality

安装

在您的开发依赖项中安装此包

$ 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');
    }
}