В мокко могу ли я утверждать, что запрос истек - PullRequest
0 голосов
/ 13 марта 2019

Я тестирую / подтверждаю некоторые вещи, связанные с блокировкой БД, и я хочу выполнить тест, который подтвердит, что запрос (библиотека «запрос-обещание») будет зависать, если я заблокирую строку.

Некоторые идеи, которые не работали, были

request(options).catch((response) => {})

assert.throws(fn, Error, "timeout")

Я продолжаю получать это сообщение: Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

IsЕсть ли способ утверждать, что этот тайм-аут случается?

Ответы [ 2 ]

2 голосов
/ 13 марта 2019

В тесте Мокко (или describe, before и т. Д.) this.timeout(msec) изменит время, в течение которого тест может выполняться, пока Мокко не сочтет тест неудачным.

Проверьте Документация Мокко для получения дополнительной информации.

0 голосов
/ 13 марта 2019

Мое решение состояло в том, чтобы установить тайм-аут на половину времени, которое я ожидал, чтобы время ожидания заняло.

setTimeout(function(){ done(); })

Тогда в моем обещании ответа конечной точки у меня было

done(new Error("Timeout should have happened.");

Таким образом, если время ожидания истекло, вызывается done.Если этого не происходит, то done вызывается с ошибкой.

...