//main.go package main import ( "fmt" "os" ) func main() { os.Exit(_main()) } func _main() int { fmt.Println("hello world") return 0 }
こういう感じになってたとき、
//main_test.go package main func _mainTest() { _main() } func ExampleTest_main() { _mainTest() // Output: // hello world (bad) }
としておくと、
% go test . ok example.com/sample 0.627s
失敗したら
% go test . --- FAIL: ExampleTest_main (0.00s) got: hello world want: hello japan FAIL FAIL example.com/sample/cmd/sample 0.222s FAIL
手軽。