pablorsk/laravel5-mail-assertions

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

该软件包的官方仓库似乎已消失,因此该软件包已被冻结。

0.3.2 2018-03-05 13:55 UTC

README

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

Latest Stable Version Total Downloads Latest Unstable Version Dependency Status License

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

构建状态

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

安装

安装软件包

    $ composer require spinen/laravel-mail-assertions

配置

为了使软件包能够对您的电子邮件进行断言,它必须能够“读取”这些消息。它通过解析 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');
    }
}