テスト用の golang インターフェイス

PHPz
リリース: 2024-02-09 09:57:15
転載
348 人が閲覧しました

用于测试的 golang 接口

php エディタ Strawberry では、テスト用の Golang インターフェイスを紹介します。ソフトウェア開発プロセスにおいてテストは欠かせないものであり、このインターフェースは便利なテスト機能を提供します。このインターフェイスを通じて、開発者はコードの正確性と安定性を迅速に確認し、開発効率を向上させることができます。機能テスト、パフォーマンス テスト、インターフェイスのストレス テストのいずれであっても、このツールはお客様のニーズを満たすことができます。さらに、このインターフェイスではテスト結果が簡潔かつ直感的に表示されるため、開発者はコードの実行ステータスをより直感的に理解できます。初心者でも経験豊富な開発者でも、この golang インターフェイスは開発作業に利便性と利点をもたらします。

質問の内容

コードでデータベース シミュレーションを作成しようとしています。次に、シミュレーションを作成するためのインターフェイスをコードに導入します。

これは私のコードです(これが正しい方法かどうかはわかりません)

リーリー

私のインターフェース実装は次のとおりです:

リーリー

次に、メソッドから findsomethingindatabase の実装を呼び出す必要があり、オブジェクト型インターフェイスを受け取ります。 リーリー

しかし、今は

callimplementation

` を呼び出して実装付きのオブジェクトを渡す方法がわかりません。 インターフェイス実装を渡すメソッドを呼び出します

Solution

インターフェイスの説明

Type

findsomethingindatabase 実装はレシーバーのない単なる関数であるため、インターフェイス objectapi を実装する型はありません。 タイプ

func(ctx context.context, name string) (e.response, error)

の値をコールバックとして callimplementation に渡し、インターフェイスを取り除くことができます。完全に 。あるいは、インターフェイスを保持し、型を定義し、その型を現在の findsomethingindatabase 実装のレシーバーにします。その後、objectapi インターフェイスが実装されるため、その型を callimplementation に渡すことができます。後者の例 (スケーラビリティの点で私が好むオプションです): リーリー この場合、

db

をグローバル変数にするのではなく (現在はそうなっているようです)、database のメンバーとして保存することをお勧めします。

以上がテスト用の golang インターフェイスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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