func TestMultiCollectorClose(t *testing.T) { cs := zipkin.MultiCollector{ &stubCollector{errid: 1}, &stubCollector{}, &stubCollector{errid: 2}, } err := cs.Close() if err == nil { t.Fatal("wanted error, got none") } if want, have := "error 1; error 2", err.Error(); want != have { t.Errorf("want %q, have %q", want, have) } for _, c := range cs { if !c.(*stubCollector).closed { t.Error("close not called") } } }