【发布时间】:2021-09-27 16:10:00
【问题描述】:
我如何catch 任何异常来涵盖 100% 代码覆盖率报告?这仅涵盖代码中的try 条件。
控制器
public function getItem()
{
try {
// Some code
return $result;
} catch (Exception $e) {
Log::error($e->getMessage());
throw new Exception ("$e->getMessage ()", 500);
}
}
测试文件
public function testGetItem()
{
$this->get('api/getitem')->assertStatus(200);
}
【问题讨论】:
-
我知道这是示例代码,可能不是您实际在做的事情,但是尝试捕获并记录异常并抛出类似的异常只是不好的做法。如果你想测试 catch 块,你的测试用例需要做一些在你的代码中触发异常的事情。
-
您需要修改您的请求,以免出错。我想没有真正的代码就没有真正的答案
标签: php laravel api testing laravel-8