エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Mockery】メソッドチェーンで繋がった関数をモックする【404日目】

こんなとき

プログラムで、テストを書こうと思った。

\Validator::make($data, [
    'email' => 'unique:users,email',
])->fails();

これ、Validatorのmakeをモックしたとしても、その後のfailsもモックできていないと、うまくテストできない。

makeとfailsを同時にモックしたい。

こう書く

\Validator::shouldReceive('make->fails')->once()->andReturn(true);

'make->fails'これで、makeのあとのfailsをモック出来る。