我正在尝试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)
}
答案 0 :(得分:-2)
实际上没关系。是我不好我没有为项目设置正确的环境变量。