我在我的项目中使用包 spatie/laravel-sluggable。我需要断言一个事件已被调度。问题是当我Event::fake([AdvertPublished::class])
在测试中伪造事件()时,理论上只有我的 Advertpublished 事件应该被伪造,但似乎 pacakge 事件也是伪造的,并且创建 slug 的方法generateSlugOnCreate
永远不会执行导致 sql 错误,因为我的 slug 字段不能为空。
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;
});
有人知道我是否遗漏了什么或可能是什么问题?