我在我的项目中使用spatie / laravel-sluggable软件包。我需要断言一个事件已调度。问题是当我在测试中伪造事件(Event::fake([AdvertPublished::class])
时,从理论上讲,仅我的Advertpublished事件应该被伪造,但是pacakge事件似乎也被伪造了,而创建the generateSlugOnCreate
的方法永远不会执行,这会导致sql错误,因为我的slug字段不能为null。
Event::fake([AdvertPublished::class]);
$response = $this->json('POST', '/company/adverts', ['foo' => 'bar'])
->assertStatus(201);
$advert = Advert::first();
Event::assertDispatched(AdvertPublished::class, function ($e) use ($advert) {
return $e->advert->id === $advert->id;
});
有人知道我是否缺少某些东西,或者可能是什么问题?