gomock は、メインメソッドの最初のメソッドを除くすべてのサブメソッドの欠落している呼び出しを提供します

WBOY
リリース: 2024-02-08 22:18:09
転載
1097 人が閲覧しました

gomock 为除主方法中的第一个之外的所有子方法提供缺少的调用

php Xiaobian Strawberry は gomock を紹介します。これは、最初のメソッドを除くメイン メソッド内のすべてのサブメソッドの欠落している呼び出しを提供できる強力なテスト ツールです。これは、gomock を使用してサブメソッドの動作をシミュレートし、メイン メソッドの機能をより適切にテストできることを意味します。 Gomock は非常に使い方が簡単で、モック オブジェクトの作成と構成、および予想される呼び出し値と戻り値の設定が簡単です。単体テストでも統合テストでも、gomock はより適切なテストと検証に役立ちます。初心者でも経験豊富な開発者でも、gomock は検討して使用する価値のある優れたツールです。

質問の内容

ユーザーに OTP メッセージを送信する責任を負う go メソッドがあります。これは、4 つの内部メソッド (サブメソッドについて話しています) RemoveOTPGetOneTimePassCodeSaveOTP、および SendOTP を呼び出します。

ファイル名: user_usecase.go

リーリー

テスト ケース ファイル: user_usecase_test.go および単体テスト ケースのエラー メソッド

リーリー

テスト ケースの実行中、RemoveOTP に対してエラーはスローされませんが、残りの 3 つのメソッドが表示されます。これは正確なエラーです

リーリー

すべてのサブメソッドが 1 回呼び出されると確信しているため、AnyTimes() のようなソリューションは使用したくありません。これに対する理想的な解決策は何でしょうか?ぜひご提案ください。

回避策

問題は、RemoveOTP() 関数がエラーを返すため、コードが他のメソッドを実行しないことです。 (名前が示すように、不在着信)

AnyTimes() は 0 回から何度も実行できるため、正常に実行されます。

すべてのメソッドが 1 回実行されることを本当にテストしたい場合は、エラーを返さずにすべての関数をモックして、すべてのコードを実行できるようにすることができます

以上がgomock は、メインメソッドの最初のメソッドを除くすべてのサブメソッドの欠落している呼び出しを提供しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!