Я пытаюсь 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)
}