ZIMP - Unit test timed out because of mock

发布时间 2023-12-28 20:28:58作者: ZhangZhihuiAAA

 

Running tool: /usr/local/go/bin/go test -timeout 30s -run ^TestCreateUserAPI$ github.com/ZhangZhihuiAAA/zimplebank/gapi -count=1 -v

=== RUN   TestCreateUserAPI
=== RUN   TestCreateUserAPI/OK
panic: test timed out after 30s

 

            ctrl := gomock.NewController(t)
            defer ctrl.Finish()

            store := mockdb.NewMockStore(ctrl)
            taskdDstributor := mockworker.NewMockTaskDistributor(ctrl)
            tc.buildStubs(store, taskdDstributor)

The controller is locked when checking matching function calls.

To fix this, we need to use two controllers:

            ctrl1 := gomock.NewController(t)
            defer ctrl1.Finish()
            store := mockdb.NewMockStore(ctrl1)

            ctrl2 := gomock.NewController(t)
            defer ctrl2.Finish()
            taskdDstributor := mockworker.NewMockTaskDistributor(ctrl2)
            tc.buildStubs(store, taskdDstributor)