所以我有一个测试设置,可以访问注册页面并提交表单。然后测试通过令牌验证帐户。
验证帐户后,将通过 SlackMessage
.
我想知道的是如何拦截这个,并阻止松弛消息实际发送 - 仅在运行测试时,但得到某种确认通知确实被调用。
所以我有一个测试设置,可以访问注册页面并提交表单。然后测试通过令牌验证帐户。
验证帐户后,将通过 SlackMessage
.
我想知道的是如何拦截这个,并阻止松弛消息实际发送 - 仅在运行测试时,但得到某种确认通知确实被调用。
我在 Laravel 5.3 MockApplicationServices 特征中发现了一个未记录的方法 expectsNotifications()。它的工作原理与记录的 event mocking几乎相同。
用法是:
$this->expectsNotification($notifiable, $notification);
// eg.
$this->expectsNotification($user, UpperLimitExceeded::class);
还有 $this->withoutNotifications() 可以跳过任何遇到的通知。
如果您需要跳过发送所有通知,请将以下行放在测试方法的开头:
$this->withoutNotifications();
我最终只是Notification::shouldReceive('send')->once();
为任何想知道的人做。我猜这是模拟通知门面的正确方法:)