Use t.Log() or t.Logf() to capture output in test logs, or redirect os.Stdout to io.Discard to suppress it entirely.
import (
"io"
"os"
"testing"
)
func TestExample(t *testing.T) {
// Suppress all stdout/stderr during this test
oldStdout := os.Stdout
os.Stdout = io.Discard
defer func() { os.Stdout = oldStdout }()
// Your test code here
// Output will be hidden from the test runner
}
For filtering specific log lines, wrap os.Stdout with a custom io.Writer that implements Write() to check and drop unwanted strings before writing to the original stream.