Использование сервера поддельного Синона s, кажется , не влияет на AXIOS , который использует http
в среде узла (и XMLHttpRequest
для браузера).
Я использую Mocha . Я избегаю бегунов по карме, потому что не вижу в этом необходимости. Нет, если только узел http
не поддерживается.
Вот демо . Просто клонируйте его и запустите npm test
.
Актуальные тесты здесь: https://github.com/srph/axios-response-logger/blob/master/tests/spec.js
Я бы предположил, что порядок может объяснить поведение, но не совсем уверен, правильно ли явное создание песочницы. Придется исследовать позже.
Похоже, это все еще не работает с аксиомами.
Не уверен, почему я не закрыл это в первый раз: после проверки я вижу, что тесты выполняются в Node. Это совершенно не поддерживается _естественно_ для реализации XHR. Если бы тесты запускались в браузере, скажем, с использованием mochify
или Karma, это было бы другое дело, поскольку заглушки XHR нацелены на среду браузера.
@brunolm : Я до сих пор не видел, чтобы в браузере выполнялся тест, который supertest
(для SuperAgent).
К вашему сведению: у axios уже есть собственная библиотека заглушек, moxios .
Я решил это, используя псевдонимы методов запроса axios, вместо того, чтобы передавать конфигурацию и инициировать запрос. То есть вместо
axios(config)
я использовал
axios[method](url, data, config)
А сейчас,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
Это чище, чем использование библиотеки moxios.
Самый полезный комментарий
Я решил это, используя псевдонимы методов запроса axios, вместо того, чтобы передавать конфигурацию и инициировать запрос. То есть вместо
axios(config)
я использовал
axios[method](url, data, config)
А сейчас,
sandbox.stub(axios, "get").returns(Promise.resolve({status:200, body: searchResponse}));
Это чище, чем использование библиотеки moxios.
Ответ на Stackoverflow