ホームページ >バックエンド開発 >Golang >Go単体テストで異なる戻り値の型を定義することはできますか?

Go単体テストで異なる戻り値の型を定義することはできますか?

WBOY
WBOY転載
2024-02-06 08:45:03746ブラウズ

是否可以在 Go 单元测试中定义不同的返回类型

質問内容

Go クライアントの単体テストを実装しようとしています。型を推測するために単体テストに want を残してもよいでしょうか?

リーリー

これを確認しました: パラメーターに基づいたさまざまな戻り値の型のオプション


正解


テストが難しい場合は、設計上の問題を示している可能性があります。テストまたはコード。このコード単位が同じテストで 2 つの異なるタイプの出力を生成できる理由を自問してください。おそらく、「単体テスト」で一度にテストするテストの数が多すぎる可能性があります。おそらく、デバイスのインターフェースが再設計される可能性があります。

「はい」と判断した場合は、実際に次のようになり、呼び出し元に使用してもらいたい type1 と type2 の共通メソッドを備えたインターフェイスを定義する必要があります。

共通のインターフェイスがない場合は、テストの設計とテスト対象のユニットを再検討してください。なぜ 1 つのユニットが無関係な 2 つの型を返すのでしょうか?

それでも必要だと思われる場合は、interface {} を使用してください。呼び出し元は、タイプ スイッチを使用してタイプを確認する必要があります。 Golang の インターフェイス を参照してください。

以上がGo単体テストで異なる戻り値の型を定義することはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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