Я не уверен, является ли это вашей основной проблемой или просто в вашем примере репозитория, но причина, по которой ваш тест проваливается в репо, заключается в том, что вы только приказываете Nock смоделировать один запрос, а затем сделать две отдельные попытки.
Я могу заставить тесты пройти, добавив вызов к persist
, или twice
, или пропустив первый тест, или создав совершенно другой Nock Interceptor.
ПРОЧИТАЙТЕ ЭТО! - О перехватчиках
Когда вы устанавливаете перехватчик для URL и этот перехватчик используется, он удаляется из списка перехватчиков. Это означает, что вы можете перехватывать 2 или более вызовов на один и тот же URL и возвращать разные вещи для каждого из них. Это также означает, что вы должны установить один перехватчик для каждого запроса, который вы собираетесь получить, в противном случае nock выдаст ошибку, потому что этот URL отсутствует в списке перехватчиков. Если вы не хотите, чтобы перехватчики удалялись по мере их использования, вы можете использовать метод .persist ().
Если это не решит для вас более глубокой проблемы, и вы при проблемах с попыткой определить, почему Nock не соответствует запросу, я рекомендую использовать опцию debug .