Jai*_*iro 5 laravel eloquent laravel-testing
我在我的项目中使用 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;
});
Run Code Online (Sandbox Code Playgroud)
有人知道我是否遗漏了什么或者可能是什么问题?