ホームページ > バックエンド開発 > Golang > インターフェイスを使用せずに Go テストで Struct メソッド呼び出しをモックする方法は?

インターフェイスを使用せずに Go テストで Struct メソッド呼び出しをモックする方法は?

DDD
リリース: 2024-12-08 00:09:12
オリジナル
737 人が閲覧しました

How to Mock Struct Method Calls in Go Tests Without Using Interfaces?

インターフェイスを使用しない Go テスト ケースでの構造体のメソッド呼び出しのモック

Go には、Mockito や jMock のようなフレームワークに直接相当するものはありません。構造体のメソッド呼び出しをモックします。ただし、ソース コードにインターフェイスを導入せずに、同様のレベルのモックを実現するために使用できる手法がいくつかあります。

1 つのアプローチには、元の構造体と同じメソッドを実装するモック構造体の作成が含まれます。モック構造体をテストする必要のある関数またはメソッドに挿入すると、動作を制御し、呼び出しを検証できるようになります。

次の例を考えてみましょう。

To Perform のメソッド呼び出しをモックすると、A と同じインターフェイスを実装するモック構造体 AMock を作成できます。

テスト内この場合、モック構造体を呼び出し関数に挿入して、期待される動作をアサートできます。

もう 1 つのアプローチは、testify/mock のような依存関係注入フレームワークを使用することです。このフレームワークは、インターフェイスをモックし、テスト ケースでの使用法を検証できる一連の拡張メソッドを提供します。

testify/mock フレームワークを使用すると、モックの作成、メソッド呼び出しの検証、そしてテストケースに対する期待値を設定します。

以上がインターフェイスを使用せずに Go テストで Struct メソッド呼び出しをモックする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート