27 lines
458 B
Go
27 lines
458 B
Go
|
package app
|
||
|
|
||
|
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)
|
||
|
}
|
||
|
}
|