jtproductions/mailtrap-assertions

用于与Mailtrap邮箱一起使用的PHPUnit断言

v1.0.2 2021-01-04 14:47 UTC

This package is auto-updated.

Last update: 2024-09-04 23:03:23 UTC


README

mailtrap断言用于对Laravel应用程序进行TDD测试,以检查邮件是否已发送到mailtrap。

安装

您可以使用以下命令安装此包

composer require --dev jtproductions/mailtrap-assertions

.env文件

您需要在.env文件中添加一些变量。首先登录到您的mailtrap.io账户。

MAILTRAP_API_KEY => 在左侧导航栏中点击API。在那里您可以看到您的API令牌,将其复制并粘贴到.env文件中

MAILTRAP_INBOX_ID => 在左侧导航栏中点击inboxes,然后点击您的邮箱名称。现在在地址栏中可以看到类似https://mailtrap.io/inboxes/123456789/messages的内容。inboxes和messages之间的数字是您的邮箱ID。在这种情况下,它是123456789

tests/TestCase.php

在您的测试目录中打开TestCase.php,并确保您有以下代码

protected function setUpTraits()
{
    $uses = parent::setUpTraits(); // TODO: Change the autogenerated stub

    if (isset($uses[RefreshMailtrap::class])) {
        $this->refreshMailtrap();
    }

    if (isset($uses[MailtrapAssertions::class])) {
        $this->mailtrapSetup();
    }
}

phpunit.xml

打开您的phpunit.xml文件。将MAIL_MAILERarray更改为smtp

用法

添加特质

RefreshMailtrap特质会在每次测试前清空您的邮箱

class ExampleTest extends TestCase
{
    use RefreshMailtrap;    
}

所有断言都在MailtrapAssertions特质中

class ExampleTest extends TestCase
{
    use MailtrapAssertions;    
}

断言邮箱为空

检查邮箱是否为空

$this->assertMailboxEmpty();

断言邮箱有 $count 条消息

这表示邮箱中有3条消息

$this->assertMailboxCount(3);

手动清空邮箱

如果您不想使用RefreshMailtrap特质或在测试期间清空邮箱

$this->emptyMailbox();