ホームページ >バックエンド開発 >Golang >複数の go モジュールの親ディレクトリで 'go test' を実行し、エラー時に 0 以外を返す方法

複数の go モジュールの親ディレクトリで 'go test' を実行し、エラー時に 0 以外を返す方法

王林
王林転載
2024-02-05 23:48:03786ブラウズ

如何在多个go模块的父目录中运行“go test”并在出现错误时返回非零

質問の内容

このディレクトリ構造を見てください:

リーリー

次のコードを使用してテストを実行できますが、失敗すると常に終了コード 0 が返されます。

リーリー

失敗した場合にゼロ以外の値を返す方法はありますか?


正解


次のコマンドを使用してください:

リーリー

findコマンド マニュアル -execdir コマンドについて{} :

「」形式を使用した呼び出しが終了ステータスとしてゼロ以外の値を返した場合、find はゼロ以外の終了ステータスを返します。 find でエラーが発生すると、即時に終了する場合があるため、保留中のコマンドによってはまったく実行されない場合があります。

ただし、go test では、find コマンドでファイルを一致させる必要はありません。実際には、次のように失敗します:

リーリー

go.mod はパッケージとして解釈されるため、失敗します。

解決策は、

{} の前にターミネータ -- を追加することです。 コマンドラインフラグ構文:を参照してください。

フラグの解析は、最初の非フラグ パラメーター (「-」は非フラグ パラメーター) の前、またはターミネータ "--" の後で停止します。

以上が複数の go モジュールの親ディレクトリで 'go test' を実行し、エラー時に 0 以外を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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