テストの実行
ファイルまたはフォルダー内で直接テストを実行する
テストを開始する前に特定のアクションを必要とせず、追加のオプションを構成したくない場合は、次のオプションを使用してテストを実行できます。
テストファイル内のすべてのテストを実行するには、キャレットをテストファイルまたはテストメソッドに置き、Ctrl+Shift+F10 を押します。または、テストメソッドの横にある
ガターアイコンをクリックし、リストから実行 '<test name>' を選択します。
ガターアイコンは、テストの状態に応じて変化します。
ガターアイコンは、一連のテストを示します。このアイコンを使用して、ファイル内のすべてのテストを実行します。
ガターアイコンは、新しいテストをマークします。
ガターアイコンは、成功したテストを示します。
ガターアイコンは、失敗したテストをマークします。
フォルダー内のすべてのテストを実行するには、プロジェクトツールウィンドウでこのフォルダーを選択し、Ctrl+Shift+F10 を押すか、コンテキストメニューから「フォルダー」でテストを実行するを選択します。

実行ウィジェットを使用してテストを実行する
テストを実行すると、GoLand は一時的な実行構成を作成します。一時的な実行構成を保存したり、設定を変更したり、チームの他のメンバーと共有したりできます。詳細については、実行 / デバッグ構成を参照してください。
Structure からテストを実行する
構造ツールウィンドウでは、実行する 1 つまたは複数のテストメソッドを選択できます。この場合、IDE はこれらのメソッドを使用して一時的な実行構成も作成し、保存して編集できます。
プロジェクトツールウィンドウで、Go テストファイル (
_test.go) をダブルクリックします。に移動します。
構造ツールウィンドウで、1 つまたは複数のテストメソッドを右クリックし、
実行 'method name' (Ctrl+Shift+F10) を選択します。
構造ツールウィンドウでメソッドを右クリックし、次を選択します。
パターンテストスコープを含む構成が 1 つしかない場合は一時スイートに追加: <構成名>。
パターンテストスコープに複数の構成がある場合、JUnit パターンスイートに追加 (JUnit) / 一時スイートに追加 (TestNG)。この場合、ターゲット構成を選択できるポップアップが表示されます。

GoLand がテストの実行を終了すると、その実行構成のタブ上の実行ツールウィンドウに結果が表示されます。テスト結果の分析の詳細については、「テスト結果を調べる」を参照してください。

テストフラグを使用してテストを実行する
-race、-failfast、-short などのテストフラグを使用してテストを実行できます。pkg.go.dev にある Go のドキュメント(英語)の他のフラグを確認してください。
に移動します。
アプリケーションまたはテストの実行に使用する実行 / デバッグ構成をクリックします。プログラムの引数フィールドで、使用する予定のフラグを指定します。
-race: データ競合の検出を有効にします。linux/amd64、freebsd/amd64、darwin/amd64、windows/amd64、linux/ppc64le、linux/arm64でのみサポートされます(48 ビット VMA のみ)。-test.failfast: 最初のテストが失敗した後、新しいテストを停止します。-test.short: 長時間実行されるテストの実行時間を短縮します。-test.benchmem: ベンチマークのメモリ割り当て統計を出力します。

プロジェクト内のすべてのテストを実行する
メインメニューでを選択します。
新規構成の追加アイコン(
)をクリックし、Go テストを選択します。
テスト種類ドロップダウンリストから、次のオプションのいずれかを選択します。
パッケージ : パッケージパスフィールドで選択したパッケージのすべてのテストを実行します。
ディレクトリ : ディレクトリフィールドで選択したパッケージのすべてのテストを実行します。
実行をクリックします。
ファズテスト
ファズテストは、さまざまな入力を継続的に送信することでテストを自動化する方法です。入力は、f.Add("mySampleData") で提供したサンプルデータに従って生成されます。
次のデータ型を受け入れる f.Add() : string、[]byte、rune、int、int8、int16、int32、int64、uint、uint8、unit16、uint32、uint64、float32、float64、bool
ファズテストの実行
ガターテストの実行アイコンをクリックし、実行を選択してから、ファズテスト構成(たとえば、テストに行く -fuzz FuzzTest)を選択します。
テストが失敗した場合は、testdata ディレクトリへのリンクをクリックして、テストに失敗した入力を確認できます。
失敗したシードコーパスエントリを使用して gotest を実行するには、testdata ディレクトリからファイルを開き、ガターのファジングを実行するアイコンをクリックして、必要な構成を選択します。

ファズテストのデバッグ
必要な行のガターをクリックして、ブレークポイントを作成します。
または、ブレークポイントを作成する行をクリックして Ctrl+F8 を押します。
をクリックします。
デバッグポップアップウィンドウで、目的の実行 / デバッグ構成を選択します。
コミット後にテストを実行する
変更をプッシュする前に、変更によってコードが壊れないことを確認したい場合は、コミットチェックとしてテストを実行します。
テスト構成をセットアップする
Alt+0 を押してコミットツールウィンドウを開き、コミットオプションを表示
をクリックします。
「高度なコミットチェック」メニューで、「実行構成」オプションの横にある「構成の選択」をクリックし、実行する構成を選択します。

テスト構成をセットアップした後、コミットするたびに指定されたテストが実行されます。
テストを停止
実行構成のタブの実行ツールバーで次のオプションを使用します。
をクリックするか、Ctrl+F2 を押してプロセスを直ちに終了します。

テストの再実行
1 つのテストを再実行
実行ツールウィンドウの実行構成のタブでテストを右クリックし、実行 'test name' を選択します。
セッションですべてのテストを再実行する
実行ツールバーの
をクリックするか、Ctrl+F5 を押して、セッション内のすべてのテストを再実行します。
失敗したテストの再実行
失敗したテストのみを再実行するには、実行ツールバーの
をクリックします。
Shift を押したまま
をクリックすると、失敗したテストを再度実行するか、デバッグするかを選択できます。
失敗したテストとともに、前回のテスト実行中に無視された、または開始されなかったテストをトリガーするように IDE を構成できます。実行ツールバーの
をクリックし、再実行失敗に開始されていないテストを含めるオプションを有効にします。
テストを自動的に再実行する
GoLand では、自動テストのようなランナーを有効にすることができます。現在の実行構成のテストは、関連するソースコードを変更すると自動的に再起動します。
自動テストのようなランナーを有効にするには、テスト結果ツールバーで
自動的に再実行をクリックします。
失敗したテストをデバッグする
テストが失敗する理由がわからない場合は、デバッグすることができます。
エディターで、ブレークポイントを設定する行のガターをクリックします。
プログラムを中断したい場所に応じて、使用できるブレークポイントにはさまざまなタイプがあります。詳細については、ブレークポイントを参照してください。
失敗したテストの横にある
ガターアイコンを右クリックし、デバッグ 'test name' を選択します。
テストはデバッグモードで再実行されます。その後、テストは一時停止され、現在の状態を確認できるようになります。
テストをステップ実行して、その実行を詳細に分析できます。

生産性のヒント
個別のテーブルテストを実行する
ガターの実行アイコン(
)を使用して、個々のテーブルテストを実行できます。また、実行ツールウィンドウから個々のテーブルテストに移動できます。
テーブルテストの現在のサポートには、次の制限があります。
テストデータ変数は、スライス、配列、マップである必要があります。
t.Run呼び出しと同じ関数で定義する必要があり、初期化後に使用しないでください(forループのrange句を除く)。個々のテストデータエントリは、構造体リテラルである必要があります。サブテスト名式で使用されるループ変数は、
t.Run呼び出しの前に使用しないでください。サブテスト名の式は、テストデータ文字列フィールド、テストデータ文字列フィールドの連結、
%sおよび%d動詞を使用したfmt.Sprintf()呼び出しにすることができます。例: 次のコードスニペットでは、
fmt.Sprintf("%s in %s", tc.gmt, tc.loc)はサブテスト名の式です。for _, tc := range testCases { t.Run(fmt.Sprintf("%s in %s", tc.gmt, tc.loc), func(t *testing.T) { loc, err := time.LoadLocation(tc.loc) if err != nil { t.Fatal("could not load location") } gmt, _ := time.Parse("15:04", tc.gmt) if got := gmt.In(loc).Format("15:04"); got != tc.want { t.Errorf("got %s; want %s", got, tc.want) } }) }

関連ページ:
実行 / デバッグ構成
GoLand は、実行 / デバッグ構成を使用して、コードを実行、デバッグ、テストします。各構成は、何を実行し、どのパラメーターと環境を使用するかを定義する、名前付きのスタートアッププロパティのセットです。実行 / デバッグ構成には 2 つのタイプがあります。一時的 — 関数またはテストを実行またはデバッグするたびに作成されます。永続的 — テンプレートから明示的に作成されるか、一時的な構成を保存することによって作成されます。永続的な構成は、削除するまでプロジェクトの一部として残ります。コードを実行...
ファイル構造
GoLand を使用すると、構造ツールウィンドウと構造ポップアップでファイルの構造を表示および移動できます。プロジェクトがバージョン管理されている場合、構造ツールウィンドウと構造ポップアップに VCS ステータスの色が表示されます。これは、ファイルの変更を追跡できます。変更されたオブジェクトの名前は青色になり、新しく追加されたオブジェクトの名前は緑色でハイライトされます。構造のアイコンにマウスを合わせると、ツールチップにアイテムに関する追加情報が表示されます。構造ポップアップ:ポップアップで提供...
実行ツールウィンドウ
実行ツールウィンドウには、アプリケーションによって生成された出力が表示されます。各タブの外観は、実行中のアプリケーションの種類によって異なり、追加のツールボックスとペインを含めることができます。ツールウィンドウのタブ:タブをピン留め複数のアプリケーションを実行している場合、各アプリケーションは、適用された実行 / デバッグ構成にちなんで名付けられたタブに表示されます。アプリケーションを再実行しても出力を保持するには、出力タブを固定します。タブを右クリックし、タブをピン留めを選択します。デフォル...
テスト結果を調べる
GoLand でテストが実行されている間、テスト実行は実行ツールウィンドウのその実行構成のタブに表示されます。テスト実行が終了すると、そのタブでテスト結果を確認できます。右側のコンソールには、現在のテストセッションの出力が表示されます。テストの実行に関する詳細情報と、テストが失敗したか無視された理由を確認できます。テスト結果リストの上にあるテスト結果ツールバーを使用すると、成功したテストと無視されたテストの表示と非表示を切り替えたり、各テストの実行にかかった時間を表示したり、テスト結果をエクスポ...
ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、たとえば、特定のコード行に到達したときにプログラムを一時停止するなどの単純なものから、追加の条件をチェックしたり、ログに書き込んだりするなどのより複雑なロジックを含むものまであります。ブレークポイントは、一度設定すると、一時的なブレークポイントを除き、明示的に削除するまでプロジェクト内に残ります。ブレークポイントの種類:GoLand
中断されたプログラムを調べる
デバッガーセッションが開始されると、デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。ブレークポイントがヒットしました、プログラムを手動で一時停止します、その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。フレームを調べる:プログラムの状態はフレームで表されます。プログラムが一時停止すると、現在のフレームスタックがデバッグツールウィンドウのフレームタブに表示されます。フレームはアクテ
