由于未接来电而导致测试中止

时间:2019-01-09 00:11:03

标签: go gomock

我正在尝试mock.Expect在本地函数内部调用的方法上。

当我做mock.Expect.AddNumbers(a, b).AnyTimes().Return(&result.sum, nil)时,测试通过。但是,当我期望它至少执行一次时,它将失败。在此调用之前,绝对没有其他代码路径,因此它应该不会失败。

我在这里使用该方法的简化表示,因为这是一个复杂的测试设置/方法。但这绝对是要点。

我的问题是,由于我模拟的方法,测试是否失败了?期望不是直接在DoMath函数内部?

add_test.go

import result

TestAdditionFunction(t *testing.T) {
    //mock setup stuff 
    ... 

    a := 1
    b := 2
    mock.Expect.AddNumbers(a, b).Times(1).Return(&result.sum, nil)
    sum = DoMath(a,b)
}


func DoMath(a int, b int) *result.sum, error {
   if( some condition ){
       someFunc(a,b)
   }
}

func someFunc(a int, b int) int {
   AddNumbers(a,b)
} 

1 个答案:

答案 0 :(得分:-2)

实际上没关系。是我不好我没有为项目设置正确的环境变量。