php エディタ Xiaoxin は今日、Golang による関数定義の強制変更シミュレーションを紹介します。 Golang は、強力な型システムを備えた効率的で簡潔なプログラミング言語です。ただし、場合によっては、特定のニーズを満たすために既存の関数の定義を変更する必要がある場合があります。この記事では、Golang で関数定義を強制的に変更する方法をシミュレーションする方法を紹介しますので、一緒に検討してみましょう。
次の機能があります:
リーリーこの関数を単体テストするために、次のようにリファクタリングする必要がありました。
リーリー私のテストは次のようになります:
リーリーこれが go でテストする唯一の方法ですか?関数に挿入されていない API をモックする方法はありませんか?
http テストに go を使用する慣用的な方法は、http/httptest (Example)
を使用することです。あなたの場合、必要なのはベース URL を挿入可能にすることだけです:
リーリーその後、各テストで:
リーリーより良い設計は、API をクライアント struct
でラップし、getprice
をレシーバー メソッドにすることです。
リーリー
リーリー
gomock も参照してください。遭遇する他のほとんどのモック問題には、この言語に対する解決策が組み込まれていないためです。
以上がGolang シミュレーションにより関数定義が強制的に変更されるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。