Cypress XHR заглушен, но немедленно прерван - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть приложение реакции (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 прерывается сразу, прежде чем он даже пытается что-то сделать. Результаты теста говорят, что запрос был заглушен:

enter image description here

Настройки CORS на стороне сервера все еще не установлены, поэтому я использование chrome с отключенной безопасностью для DEV, но даже в обычном браузере он все еще получает некоторое время до ошибки CORS, и даже тогда вызов не прерывается.

Это похоже на то, что тест останавливается из работает чем-то, но все, что я прочитал и попытался сказать, что я делаю это хорошо. Я не могу найти ни одного учебника или чего-то такого, что делает это по-другому!

...