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ブロックをカバーしたい を阻止しようとカバーしていることを示しています。ユニットテストで私のルートに失敗するにはどうすればいいですか?キャッチブロックに入る
空の配列の場合、私はすでにテストを書いているためにformRequestの検証をしています。テストケースを失敗させるために、作成メソッドでMockery throw例外を使用しました。返信ありがとう。 – user3125407