インポートされたパッケージでのテスト コードの再利用
複雑なコードベースを管理する場合、テスト コードを再利用できる機能は、効率的で保守可能なテスト実践のために重要になります。 。この記事では、開発者が直面する一般的な課題、つまりインポートされたパッケージからのテスト コードの再利用について説明します。
次のシナリオを考えてみましょう。プロジェクトのディレクトリ構造は次のとおりです。
/ |-- main.go |-- main_test.go |-- pkg1 |-- pkg1_test.go
main.go imports pkg1 に依存しており、pkg1 内のエクスポートされていない関数に依存するコードが含まれています。 pkg1_test.go には、pkg1 の内部関数を呼び出すユーティリティ関数 verifyTaskNumber が含まれています。ただし、main_test.go は独自のテストで verifyTaskNumber を使用する必要があります。
この問題に対処するには、2 つの解決策が提案されています。
どちらのソリューションも、テスト コードを再利用するためのシームレスで効率的なアプローチを提供しません。別の解決策は、main_test.go と pkg1_test.go の両方にインポートされる utils パッケージに verifyTaskNumber を移動することです。 pkg1 のエクスポートされていない関数への依存を考慮するために、内部関数の結果をサポート ファイルに保存し、utils パッケージによってロードできます。これにより、複数のテスト パッケージのテスト ユーティリティへのアクセスを提供しながら、エクスポートされていない関数への依存を回避できます。
以上がGo でインポートされたパッケージのテスト コードを再利用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。