diff --git a/assert/assert.go b/assert/assert.go index 663e51f..c2335bb 100644 --- a/assert/assert.go +++ b/assert/assert.go @@ -20,6 +20,13 @@ func Equal(t TestingT, expected interface{}, actual interface{}, msg ...string) return } +func IsNotNil(t TestingT, actual interface{}, msg ...string) { + if isNil(actual) { + t.Errorf("%s expected not nil, but actual=%+v", msg, actual) + } + return +} + func isNil(actual interface{}) bool { if actual == nil { return true diff --git a/assert/assert_test.go b/assert/assert_test.go index 56364c6..2624582 100644 --- a/assert/assert_test.go +++ b/assert/assert_test.go @@ -15,6 +15,7 @@ func (mtt MockTestingT) Errorf(format string, args ...interface{}) { fmt.Errorf(format, args...) } func TestEqual(t *testing.T) { + // 测试Equal Equal(t, nil, nil) Equal(t, nil, nil, "fxxk.") Equal(t, 1, 1) @@ -30,12 +31,23 @@ func TestEqual(t *testing.T) { var b []byte Equal(t, nil, b) + // 测试isNil Equal(t, true, isNil(nil)) Equal(t, false, isNil("aaa")) + // 测试equal Equal(t, false, equal([]byte{}, "aaa")) Equal(t, true, equal([]byte{}, []byte{})) Equal(t, true, equal([]byte{0, 1, 2}, []byte{0, 1, 2})) + // 测试Equal失败 var mtt MockTestingT Equal(mtt, false, isNil(nil)) } + +func TestIsNotNil(t *testing.T) { + IsNotNil(t, 1) + + // 测试IsNotNil失败 + var mtt MockTestingT + IsNotNil(mtt, nil) +}