【发布时间】:2021-09-11 19:42:09
【问题描述】:
我在一个 laravel 项目中工作,我在更新数据时会做一些逻辑。为此,我在updating() 方法中利用了观察者模式。
这是我简化的 sn-ps:
ModuleObserver
public function updating($module)
{
dd('This must be shown');
}
模块控制器
public function update(ModuleUpdateRequest $request, string $moduleId): ModuleResource
{
try {
$module = Module::findOrFail($moduleId);
} catch (ModelNotFoundException $e) {
throw new NotFoundHttpException('Module not found.');
}
$module->fill($request->all());
$module->save();
}
ModuleControllerTest
public function testModuleUpdate()
{
$module = factory(Module::class)->create(['name' => 'My Module']);
$this->actingAs($this->user)->putJson('/modules/' . $module->id, [ 'name' => 'My Updated Module' ])->assertStatus(200);
}
测试通过 ok 而不是显示调试器行。
(我的观察者已正确加载到 AppServiceProvider 文件中,顺便说一句,它在测试上下文之外也能正常工作)
【问题讨论】: