ホームページ >バックエンド開発 >Golang >Gomock が期待値を返しませんでした

Gomock が期待値を返しませんでした

PHPz
PHPz転載
2024-02-05 22:15:041115ブラウズ

Gomock 未返回预期值

質問の内容

私は経験豊富なプログラマーですが、まだ初心者です。私はいくつかのロギング テストを作成しており、これらの目的のために、 logsink クラスのモックを生成しました ( mockgen を使用)。その部分はすべて自動生成されるので問題ないと考えて良いと思います。

これは私のテストコードです:

リーリー

しかし、「foo」ログが呼び出されないため、このテストは失敗します。コードを段階的に確認したところ、expect().do() コードが期待どおりに呼び出され、true が返されたことがわかりましたが、モック コードでは logger が発生します。 .sink.enabled() の は false として扱われます!

私は何を間違えたのでしょうか?秘密のスイッチが足りないのでしょうか?


正解


なるほど、.do() 意図的に戻り値を無視していることがわかりました。コード内のドキュメントは次のとおりです: リーリー

下位互換性。正しい。私に言わせれば、パブリック ドメインの血まみれの穴...

以上がGomock が期待値を返しませんでしたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。