package client import ( "fmt" "testing" ) func TestRetryFunc(t *testing.T) { err := retryFunc(1, func() error { return nil }) if err != nil { t.Errorf("should not return an error: %s", err) } i := 0 fn := func() error { i++ return fmt.Errorf("oh no, something went wrong!") } err = retryFunc(2, fn) if err == nil { t.Error("should return an error") } if i != 2 { t.Errorf("The function should have been called 1 times, got %d", i) } }