如何测试在goroutine中调用函数?

时间:2018-05-26 00:38:21

标签: go gomock

我想确保我们通过调用具有正确参数的函数来启动goroutine。

例如:

func MyTest(t *testing.T) {
    service.EXPECT().MyMockFunc(1)
    service.MyFunc()
}

func MyFunc() {
    go MyMockFunc(1)
}

当我运行此测试时,它会失败,因为(我相信)MyMockFunc仅在测试完成后才会被调用。

有没有办法测试我通过调用具有正确参数的函数来启动goroutine?

注意:理想情况下,我希望将我传递给MyMockFunc的参数保留原样(例如,不添加通道arg)。

1 个答案:

答案 0 :(得分:0)

使用频道并假设您可以从测试中激活goroutine:

{{1}}