Laravel 断言拉威尔模型观察者';在PHPUnit中引发的事件
我将为我的laravel 7控制器方法(端点)编写一些测试,以确保它们触发模型观察者事件(例如,Laravel 断言拉威尔模型观察者';在PHPUnit中引发的事件,laravel,phpunit,laravel-testing,laravel-models,Laravel,Phpunit,Laravel Testing,Laravel Models,我将为我的laravel 7控制器方法(端点)编写一些测试,以确保它们触发模型观察者事件(例如,产品上的保存的事件模型) 由于您现在对观察者事件进行建模,在使用批量更新时不会触发事件,而且我的队友可能(错误地)使用了批量更新,因此任何事件都不会触发,并且会中断其余进程 所以通过这些测试,我可以确定依赖于模型观察者事件的所有部分当前都可以工作 在中提到,如果要断言已调度事件,请使用以下代码(例如): 是否可以断言模型观察者的事件也已触发(调度)?据我所知,Laravel只在观察者上注册事件,它无法
产品上的保存的事件
模型)
由于您现在对观察者事件进行建模,在使用批量更新时不会触发事件,而且我的队友可能(错误地)使用了批量更新,因此任何事件都不会触发,并且会中断其余进程
所以通过这些测试,我可以确定依赖于模型观察者事件的所有部分当前都可以工作
在中提到,如果要断言已调度事件,请使用以下代码(例如):
是否可以断言模型观察者的事件也已触发(调度)?据我所知,Laravel只在观察者上注册事件,它无法确定它来自哪个观察者。我认为您应该断言的事件名称是“eloquent.created:App\Models\Order”
,
public function testOrderShipping()
{
Event::fake();
$order = factory(Order::class)->create();
// Assert an event was dispatched
Event::assertDispatched(OrderCreated::class);
}