Golang で標準出力テストの方法の調査 最近Golangで標準出力をテストする際にどのような方法を取れば良いのか情報も少なく、しばらく迷走していたので、ここで一旦メモとしてまとめておく。 標準出力をテストする方法を模索した結果 今回調査した方法は主に以下の2つ os.Pipe() を駆使して出力先を切り替えて値をキャプチャする Testable Examples を利用する os.Pipe() を駆使して出力先を切り替えて値をキャプチャする まず初めに、標準出力を受け取る関数を定義して、出力先を切り替えて値をキャプチャする方法が妥当であろうと考え、以下のような共通関数を定義して呼び出すことにしました。 func PickStdout(t *testing.T, fnc func()) string { t.Helper() backup := os.Stdout defer func(