0

gRecaptcha を含むフォームをテストしようとしています:

Laravel Docsに従ってモックを追加しました。

$this->mock(GoogleRecaptcha::class, function (MockInterface $mock) {
     $mock->shouldReceive('isValid')->once()->andReturn(true);
});

その後、post リクエストを実行しますが、実際にはコントローラーからモック クラスを実行しているように見えるため、エラーをスローしています。モックはそれを実行すべきではないと思いました。ベイメ モックで何か悪いことをしている。

コントローラーでは、検証後に次のコードを実行します。

if (!(new GoogleRecaptcha)->isValid()) {
    abort(403, 'It seems that you are a robot');
}

GoogleRecaptcha は App\Support フォルダー内の単なるクラスであり、"isValid" というメソッドが 1 つだけあります。

とにかくありがとう。エルナン。

4

0 に答える 0