【发布时间】:2017-10-25 22:03:25
【问题描述】:
我的控制器中有以下代码
public function store(CreateSpecialityRequest $request)
{
DB::beginTransaction();
try {
$speciality = $this->specialityRepository->create($request->all());
DB::commit();
return redirect()->route('specialities.index')
->with('success', 'Speciality Added successfully');
} catch (\Exception $e) {
DB::rollBack();
return $e->getMessage();
return redirect()->route('specialities.index')
->with('error', 'Specialities details updating failed');
}
}
我的测试用例
$speciality = [
'name' => $faker->name,
'description' => $faker->sentence,
'icon' => $uploadedFile
];
$this->post('/specialities', $speciality)
->assertResponseStatus(302)
->assertRedirectedToRoute('specialities.index')
->assertSessionHas(['success' => 'Speciality Added successfully'])
->followRedirects()
->assertViewHas('specialities');
在我的代码覆盖率上,它表明我只覆盖了 try 块 我也想覆盖 catch 块。如何在单元测试中失败我的路线?进入 catch 块
【问题讨论】:
标签: php unit-testing phpunit laravel-5.3