内部関数をプライベートに保ちながら、インポートされたパッケージ内のテストコードを再利用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-04 02:39:01
オリジナル
552 人が閲覧しました

How to Reuse Test Code in Imported Packages While Keeping Internal Functions Private?

インポートされたパッケージ内の再利用可能なテスト コード

提供されたシナリオには、別のパッケージ (pkg1_test.go) のテスト専用関数。これにより、インポートされたパッケージ間でテスト コードを再利用するという課題が生じます。

考えられる解決策とその欠点:

  • 関数を pkg1.go に移動します: これにより、関数が main_test.go で使用できるようになりますが、バイナリの一部になる可能性があり、これは望ましくありません。
  • 別の testutility パッケージを使用します: これにより、test- をグループ化できます。関数のみを使用すると、pkg1 の内部メソッドへの依存関係が導入され、潜在的な問題が発生します。

推奨される解決策:

上記のいずれかのメソッドを使用する代わりに、次のアプローチを検討してください:

  1. サポート パッケージを作成します: テスト専用関数を support という名前の新しいパッケージに移動します。このパッケージは、pkg1 のパブリック インターフェイスのみに依存する必要があります。
  2. サポート ファイルを使用します: サポートでは、pkg1 からのプライベート関数の出力を含むサポート ファイルを定義します。
  3. サポート関数でサポート ファイルをロードします: サポート パッケージで、サポート ファイルをロードして必要な操作を実行する関数を作成します。
  4. **main_test.go からサポート関数を呼び出します。 ** main_test.go にサポート パッケージをインポートし、pkg1` からプライベート関数を使用する関数を呼び出します。

この解決策:

  • テストのみのコードを分離します。製品コードから。
  • pkg1 の内部関数がプライベートのままであることを保証します。
  • バイナリ配布の問題を回避します。

以上が内部関数をプライベートに保ちながら、インポートされたパッケージ内のテストコードを再利用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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