У меня есть приложение реакции (CRA), которое взаимодействует со шлюзом API. Я проверяю API, если есть объявление, отображаю компонент.
Мой Cypress-тест пытается перехватить вызов API страниц и заменить его прибором, чтобы он всегда был верным, а затем я проверю, компонент находится в DOM:
it.only('Show component if there is an announcement', () => {
cy.server();
cy.route(
'GET',
'THIS_IS_THE_API',
'fixture:announcement.json',
);
});
И это очень просто:
{
"title": "Heading 2",
"content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
}
Функция, вызывающая API на странице, - это ax ios async / жду звонка. Ax ios сделан поверх XHR, поэтому проблема с несовместимостью не должна быть проблемой.
Когда я запускаю тест, XHR прерывается сразу, прежде чем он даже пытается что-то сделать. Результаты теста говорят, что запрос был заглушен:
Настройки CORS на стороне сервера все еще не установлены, поэтому я использование chrome с отключенной безопасностью для DEV, но даже в обычном браузере он все еще получает некоторое время до ошибки CORS, и даже тогда вызов не прерывается.
Это похоже на то, что тест останавливается из работает чем-то, но все, что я прочитал и попытался сказать, что я делаю это хорошо. Я не могу найти ни одного учебника или чего-то такого, что делает это по-другому!