diff --git a/picotestify/assert/assert.go b/picotestify/assert/assert.go index ff68dee..060d451 100644 --- a/picotestify/assert/assert.go +++ b/picotestify/assert/assert.go @@ -166,7 +166,11 @@ func ErrorContains(t TestingT, err error, contains string, msgAndArgs ...any) bo return true } - fail(t, msgAndArgs, "Error %q does not contain %q", err.Error(), contains) + if err == nil { + fail(t, msgAndArgs, "Expected error containing %q but got nil", contains) + } else { + fail(t, msgAndArgs, "Error %q does not contain %q", err.Error(), contains) + } return false } diff --git a/picotestify/assert/assert_test.go b/picotestify/assert/assert_test.go index 8ed3b58..e496638 100644 --- a/picotestify/assert/assert_test.go +++ b/picotestify/assert/assert_test.go @@ -95,6 +95,11 @@ func TestAssert(t *testing.T) { pass: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error") }, fail: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error2") }, }, + { + name: "ErrorContains - nil", + pass: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error") }, + fail: func(t assert.TestingT) { assert.ErrorContains(t, nil, "error") }, + }, { name: "Empty", pass: func(t assert.TestingT) { assert.Empty(t, []int{}) },