From 3bf8d0aa5ec7bc300ba58b4962c0b64d728618cd Mon Sep 17 00:00:00 2001 From: Yaroslav Kolomiiets Date: Tue, 28 Apr 2020 15:18:33 +0100 Subject: [PATCH] callString not to panic on nil Fixes stretchr/testify#936. --- mock/mock.go | 2 +- mock/mock_test.go | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/mock/mock.go b/mock/mock.go index a6d9526..c6df448 100644 --- a/mock/mock.go +++ b/mock/mock.go @@ -855,7 +855,7 @@ func (args Arguments) String(indexOrNil ...int) string { // normal String() method - return a string representation of the args var argsStr []string for _, arg := range args { - argsStr = append(argsStr, reflect.TypeOf(arg).String()) + argsStr = append(argsStr, fmt.Sprintf("%T", arg)) // handles nil nicely } return strings.Join(argsStr, ",") } else if len(indexOrNil) == 1 { diff --git a/mock/mock_test.go b/mock/mock_test.go index 1b681aa..cb49541 100644 --- a/mock/mock_test.go +++ b/mock/mock_test.go @@ -778,6 +778,7 @@ func Test_Mock_findExpectedCall_Respects_Repeatability(t *testing.T) { func Test_callString(t *testing.T) { assert.Equal(t, `Method(int,bool,string)`, callString("Method", []interface{}{1, true, "something"}, false)) + assert.Equal(t, `Method()`, callString("Method", []interface{}{nil}, false)) }