go1.4でtestingパッケージにTestMainが追加されました。 func TestMain(m *testing.M)を定義してあると、go testはこのメソッドを呼び出します。試しに書いてみます: package example_test import ( "os" "testing" ) func TestA(t *testing.T) { } func TestB(t *testing.T) { } func setup() { println("setup") } func teardown() { println("teardown") } func TestMain(m *testing.M) { setup() ret := m.Run() if ret == 0 { teardown() } os.Exit(ret) } gist: go1.4 TestMain
![Goのテストでsetup/teardownする #golang - memoメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/9f2ec8d29947a2529bffd3638b24f3add2b57167/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51ZzoXpsmqL.jpg)