Skip to content
This repository was archived by the owner on Dec 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions assert/assert_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package assert_test

import (
"errors"
"fmt"
"math"
"testing"

Expand Down Expand Up @@ -412,3 +414,64 @@ func TestAssertErrMessages(t *testing.T) {
a.Error(nil, "func msg")
})
}

func TestAssertNoErrMessages(t *testing.T) {
err := errors.New("test")
errmsg := fmt.Sprintf("unexpected error[%v]", err)

t.Run("no error: no details", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := errmsg
assert.EqualStrings(t, want, got)
})
a.NoError(err)
})

t.Run("no error: constructor msg and details msg with fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: func fmt 777: constructor fmt 666", errmsg)
assert.EqualStrings(t, want, got)
}, "constructor fmt %d", 666)
a.NoError(err, "func fmt %d", 777)
})

t.Run("no error: constructor msg and details msg no fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: func msg: constructor msg", errmsg)
assert.EqualStrings(t, want, got)
}, "constructor msg")
a.NoError(err, "func msg")
})

t.Run("no error: constructor msg with fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: constructor fmt 666", errmsg)
assert.EqualStrings(t, want, got)
}, "constructor fmt %d", 666)
a.NoError(err)
})

t.Run("no error: constructor msg no fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: constructor msg", errmsg)
assert.EqualStrings(t, want, got)
}, "constructor msg")
a.NoError(err)
})

t.Run("no error: detail msg with fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: func fmt 666", errmsg)
assert.EqualStrings(t, want, got)
})
a.NoError(err, "func fmt %d", 666)
})

t.Run("no error: detail msg no fmt", func(t *testing.T) {
a := assert.New(t, func(a *assert.Assert, got string) {
want := fmt.Sprintf("%s: func msg", errmsg)
assert.EqualStrings(t, want, got)
})
a.NoError(err, "func msg")
})
}
2 changes: 1 addition & 1 deletion assert/error.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
func (assert *Assert) NoError(err error, details ...interface{}) {
assert.t.Helper()
if err != nil {
assert.fail(details, "unexpected error[%s]%s", err)
assert.fail(details, "unexpected error[%s]", err)
}
}

Expand Down