diff --git a/xload/async_test.go b/xload/async_test.go index bd68dd5..27ae699 100644 --- a/xload/async_test.go +++ b/xload/async_test.go @@ -3,12 +3,11 @@ package xload import ( "context" "errors" + "github.com/stretchr/testify/assert" "reflect" "sync" "testing" "time" - - "github.com/stretchr/testify/assert" ) func TestLoad_Async(t *testing.T) { @@ -56,13 +55,18 @@ func TestLoad_Async_Error(t *testing.T) { err := Load(ctx, &dest, Concurrency(2), LoaderFunc(func(ctx context.Context, key string) (string, error) { - <-time.After(100 * time.Millisecond) - return "", nil + // simulate a slow loader + select { + case <-ctx.Done(): + return "", ctx.Err() + case <-time.After(100 * time.Millisecond): + return "name", nil + } }), ) - assert.Error(t, err) - assert.True(t, errors.Is(err, context.Canceled)) + assert.NotEqual(t, "name", dest.Name) + assert.EqualError(t, err, context.Canceled.Error()) }) errMap := map[string]error{