У меня есть эта функция, которая вызывает функцию util для вызовов API.Функция util разрешает или отклоняет на основе результата API.
Теперь мне нужно выполнить модульное тестирование функций обратного вызова, которые имеют следующую структуру.
`theClassMethod : () => {
return utilMethod().then(
result => { this.functionOne() //Test this function is called },
error => { this.functionTwo() //Test this function is called }
)
}`
Метод util возвращает обещание, подобноениже:
utilFunc = (data :string) :Promise<ResultData[]> => {
return new Promise(async (resolve, reject) => {
try{
resolve(data)
}catch{
reject(error)
}
})
}
https://codesandbox.io/s/vjnwy1zw75?fontsize=14
То, что я пробовал:
- Насмешил метод util для разрешения / отклонения.Вызовите метод класса и сделайте утверждения.Это не работает, и тест всегда проходит как ложное срабатывание.
Я потратил много времени на поиск аналогичной проблемы.Большинство вопросов здесь, чтобы проверить код как:
theClassMethod : () => { utilMethod.then().catch()}
Проблема, которую я пытаюсь решить, состоит в том, чтобы проверить разрешение, отклонить обратные вызовы в блоке thenthen(function1, function2)
.Что кодовый блок внутри функции 1 должен быть проверен, чтобы он вызывал некоторые предназначенные функции.