// +build ignore,OMIT package main import ( "fmt" "net/http" ) var authURL = "" var auth = func(user string) bool { res, err := http.Get(authURL + "/" + user) return err == nil && res.StatusCode == http.StatusOK } func sayHi(user string) { if !auth(user) { fmt.Printf("unknown user %v\n", user) return } fmt.Printf("Hi, %v\n", user) } func TestSayHi() { auth = func(string) bool { return true } sayHi("John") auth = func(string) bool { return false } sayHi("John") } func init() { auth = func(string) bool { return true } } func TestAnythingElse() { // auth has been already set to the fake version } func main() { TestSayHi() }