0
我已經在我的控制器如何使單元測試的laravel路徑失敗?
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');
在我的代碼覆蓋下面的代碼就說明我已經涵蓋只能儘量阻止 我想捂住catch塊了。我如何在單元測試中失敗我的路線?進入catch塊
對於空數組,我有formRequest驗證,因爲我已經寫了測試。我在創建方法中使用了Mockery拋出異常來失敗我的測試用例。感謝您的回覆 。 – user3125407