如何在没有通知的情况下测试 Laravel 通知?

时间:2021-07-30 12:23:55

标签: laravel phpunit

我们正在向我们的团队频道发送一条 slack 消息,因此没有使用通知实例。 我就是这样做的-

Notification::route('slack', env('SLACK_URL'))
    ->notify(new StaffNotification());

在员工通知中

public function toSlack() {
    return (new SlackMessage)->content('New Staff Message.');
}

我应该如何测试 StaffNotification,因为所有可用的断言都接受第一个参数作为通知?

1 个答案:

答案 0 :(得分:1)

当您的模型中没有通知对象时,Laravel 会在后台创建一个 AnonymousNotifiable,您可以使用它:

use Illuminate\Notifications\AnonymousNotifiable;
use Illuminate\Support\Facades\Notification;

class NotificationsTest extends TestCase
{
    public function testSend()
    {
        Notification::fake();
        //perform your code
        Notification::assertSentTo(new AnonymousNotifiable(), StaffNotification::class);
    }
}
相关问题