Прерывание теста из-за пропущенных вызовов - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь 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 голосов
/ 09 января 2019

На самом деле не важно. Это мое плохо. У меня не было правильной переменной окружения для проекта.

...