bytedance / mockey

a simple and easy-to-use golang mock library
Apache License 2.0
556 stars 22 forks source link

怎么对需要mock 方法的参数断言 #51

Closed foundVanting closed 4 months ago

foundVanting commented 4 months ago
func Foo(in string) string {
    return in
}

func TestMockXXX(t *testing.T) {
    PatchConvey("TestMockXXX", t, func() {
        Mock(Foo).Return("c").Build()   // mock function
    })
}

我还希望断言 Foo 的参数。该怎么做?

Sychorius commented 4 months ago

@foundVanting 可以使用相关API

Mock(fn).To(func(/*fn args*/) (/*fn resp*) { /*内部可以断言参数*/ }) 

Mock(fn).When(func(/*fn args*/) bool { xxx }) // when为true时会进入mock

具体可以看一下To和When的注释说明