diff --git a/erkrequire/erkrequire.go b/erkrequire/erkrequire.go index 821ac2c..7734a06 100644 --- a/erkrequire/erkrequire.go +++ b/erkrequire/erkrequire.go @@ -8,13 +8,16 @@ import ( ) func NoError(t *testing.T, erk *errors.Error, msgAndArgs ...interface{}) { - if erk != nil { //这里必须在非空时才能让它去判断,否则即使是 nil 也会报错 - require.NoError(t, erk, msgAndArgs...) - } + require.NoError(t, erk2erx(erk), msgAndArgs...) } func Error(t *testing.T, erk *errors.Error, msgAndArgs ...interface{}) { + require.Error(t, erk2erx(erk), msgAndArgs...) //这里必须传递个空才行,跟前面的情况相同 +} + +func erk2erx(erk *errors.Error) error { if erk == nil { - require.Error(t, nil, msgAndArgs...) //这里必须传递个空才行,跟前面的情况相同 + return nil //这里必须做这样的转换,因为两个 nil 是不一样的 } + return erk } diff --git a/erkrequire/erkrequire_test.go b/erkrequire/erkrequire_test.go index 89c8187..b4c482c 100644 --- a/erkrequire/erkrequire_test.go +++ b/erkrequire/erkrequire_test.go @@ -6,14 +6,14 @@ import ( "github.com/go-kratos/kratos/v2/errors" "github.com/orzkratos/erkkratos/erkrequire" "github.com/orzkratos/erkkratos/internal/errors_example" + "github.com/stretchr/testify/require" "github.com/yyle88/erero" ) func TestNoError(t *testing.T) { var erk *errors.Error - // require.NoError(t, erk) 这里是不对的 - // 需要使用以下的函数 - erkrequire.NoError(t, erk) + require.Error(t, erk) // 这里是不符合预期的 + erkrequire.NoError(t, erk) // 需要使用这个函数 } func TestError(t *testing.T) {