LaravelのAPIのソースをPHPUnitを利用し、Unitテストを作成してますが、
composer test:coverage
で coverageを取得しても0パーセントのままで困っています。
対象Modelのメソッド
class Login extends Model { public function findUserById(string $user_id, int $sys_id):Collection { return Login::where('user_id', $user_id) ->where('sys_id', $sys_id) ->get(); }
テストメソッド
class LoginTest extends TestCase { private \PHPUnit\Framework\MockObject\MockObject $example; /** * @test */ public function testFindUserById() { $this->example = $this->createPartialMock(Login::class,['findUserById']); $this->example->expects($this->once())->method('findUserById') ->with('test', 1) ->willReturn(new Collection()); $result = $this->example->findUserById('test', 1); $this->assertEquals(new Collection(), $result); }
この状態でphpUnitでtestを実行すると成功しますが、カバレッジを取得すると、カバレッジ0パーセントです。分かる方教えてください。
テストケースの書き方が悪いのでしょうか?DBには直接繋がず、分岐を網羅できているかを確認をしたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。