Go "tests" でのコマンド ライン引数の解析
"go test" コマンドを使用する場合、アプリケーションのメイン機能は
フラグを使用することは可能ですが、開発者はテスト内でコマンド ライン引数をどのように処理すればよいのか疑問に思っています。各テストまたは関数の引数をパッケージ化してチェックする場合、このアプローチは面倒で、広範囲にわたる繰り返しが必要です。
特定のシナリオでは、単体テストの純粋性をバイパスし、コマンド ライン経由で引数を渡すことが、次のような利点を提供するため、受け入れられる解決策になる可能性があります。環境変数への依存を回避し、機能の柔軟性を提供するなどの利点があります。
1 つの方法には、_test ファイル内で init() 関数を定義することが含まれます。テスト スイートが実行されると、この関数が呼び出され、コマンド ライン引数に基づいて変数を初期化し、アプリケーションが直接実行されるときの main 関数の動作をシミュレートします。
あるいは、flags パッケージが必要な場合は、要件に応じて、初期化コードは testing.t 構造体の init() 関数内に配置できます。これにより、テスト ケースの実行前にフラグの解析を行うことができます。
例:
func init() { flag.Parse() envSetting = flag.String("env", "", "Environment setting") }
以上がGo テストでコマンドライン引数を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。