php 事件调度,PHP单元测试调度事件
如何在函數調用期間測試事件是否被調度?
public function updateUser() {
//Do some update stuff
$event = new UserUpdated($user);
$event->attach([
new SendEmailAddressChangeEmail($emailAddress),
new SendEmailAddressChangeEmail($oldEmailAddress),
]);
$event->dispatch();
}
除了設置電子郵件地址并查看是否發送了電子郵件之外,我如何檢查(使用PHP單元)調度員實際上是否正在調度這些事件?我假設我需要創建某種類型的模擬,但我不確定如何為完全不相關的代碼創建模擬 .
UserUpdated事件代碼:
class UserUpdated extends BaseEvent
{
public $user;
public function __construct(User $user) {
$this->user = $user;
}
}
和相關的SendEmailAddressChanged處理程序代碼:
class SendEmailAddressChangeEmail implements Contracts\HandlerInterface
{
protected $emailAddress;
public function __construct($emailAddress) {
$this->emailAddress = $emailAddress;
}
public function handle($event) {
EmailUtils::sendEmailAddressChangeEmail($this->emailAddress, $event->user->userName, $event->user->userID);
}
}
總結
以上是生活随笔為你收集整理的php 事件调度,PHP单元测试调度事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3步告别忙累压力大没成绩
- 下一篇: 少的力量,强大到你难以想象