問題:
同じgoテストを2回実行すると、2回目の実行はまったく行われません。結果は、最初の実行からキャッシュされたものです。
PASS
ok tester/apitests (cached)
リンク
https://golang.org/cmd/go/#hdr-Testing_flagsをすでに確認しましたが、その目的のためのcliフラグはありません。
質問:
go testに、テスト結果をキャッシュせずに常にテストを実行するように強制する可能性はありますか?
問題:
同じgoテストを2回実行すると、2回目の実行はまったく行われません。結果は、最初の実行からキャッシュされたものです。
PASS
ok tester/apitests (cached)
リンク
https://golang.org/cmd/go/#hdr-Testing_flagsをすでに確認しましたが、その目的のためのcliフラグはありません。
質問:
go testに、テスト結果をキャッシュせずに常にテストを実行するように強制する可能性はありますか?
回答:
テストフラグのドキュメントで説明されているように、いくつかのオプションがあります。
go clean -testcache:すべてのテスト結果が期限切れになります-count=1とはいえ、コードまたはテストコードを変更すると、キャッシュされたテスト結果が無効になるため(ローカルファイルまたは環境変数を使用する場合も拡張ロジックがあります)、テストキャッシュを手動で無効にする必要はありません。
go clean -testcache ./...(monorepoの上部に)あまりにも動作します
go 1.11と使用した上で、外出先のモジュールの機能を有するGOCACHE=offエラーが発生しますgo: cannot use modules with build cache disabled。提案され-count 1たを使用することをお勧めします。
GOCACHE、go 1.12では徐々に段階的に廃止されるため、go test -count=1 ...今は使用する方が安全です。
build cache is disabled by GOCACHE=off, but required as of Go 1.12
これを修正した方法(macOSでVisual Studio Codeを使用しています):
コード>設定>設定
...設定ページの右側をクリックします
クリック Open settings.json
どちらか:
次のスニペットをsettings.jsonファイルに追加します
"go.testEnvVars": {
"GOCACHE": "off"
}
go.testEnvVars、以下を含めます。"GOCACHE": "off"GOCACHE、最近のバージョンのGoでは設定が機能しません。VS Codeの解決策は、設定"go.testFlags": ["-count=1"]で設定することです。