【发布时间】:2017-11-24 05:36:51
【问题描述】:
在为 go 中的方法编写单元测试时,我被一个问题难住了。一、被测代码sn-p:
func MehodToBeTested(e Entity) {
go saveAudit(e)
//do something on which assertions can be done
}
实体可以被模拟。在 saveAudit 方法中,Entity.Save 方法被调用。在我的 UT 中,我想断言 Entity.Save 方法被调用一次。以下是我目前的 UT:
func TestMethod(t *testing.T) {
var mock = &mockEntity{}
mock.On("Save").Return(nil)
//make call to func under test
MethodToBeTested(mock)
// Assert that Save is called on Entity
mock.AssertNumberOfCalls(t, "Save",1)
}
这给出了错误提示:预期调用次数 (1) 与实际调用次数 (0) 不匹配,因为实际调用发生在另一个 go 例程中。我该如何测试?
【问题讨论】:
标签: unit-testing go testify