Go テストでのコマンドライン引数の取得
go test でテストを実行する場合、main 関数は実行されません。このため、テスト ケースでコマンド ライン引数にアクセスする方法が問題になります。
一般的なアプローチは、flags パッケージを使用し、各テストまたは関数で引数を手動で確認することです。ただし、テストの数が増えると、この方法は退屈でエラーが発生しやすくなります。
代わりに、環境変数または初期化関数を使用して、テストでコマンド ライン引数にアクセスすることができます。
環境変数
環境変数は、構成データをテストに渡す便利な方法を提供します環境。テストで環境変数にアクセスするには、単に os.Getenv 関数を使用します。
envSetting := os.Getenv("TEST_ENV")
初期化関数
または、設定する初期化関数を定義することもできます。コマンドライン引数に基づくグローバル変数。 init() 関数はテスト ケースの前に実行されるため、初期化の目的に最適です。
func init() { flags.Parse() myEnv = *envFlag }
これらのテクニックを利用することで、Go テストでコマンド ライン引数に効果的にアクセスし、テストとメインの分離を維持できます。機能。
以上がGo テストでコマンドライン引数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。