Ожидание последнего совпадения маршрута в тесте Cypress - PullRequest
0 голосов
/ 11 марта 2020

Я тестирую приложение мастера форм с Cypress, который делает несколько вызовов API, которые я не могу заглушить. Почти все они разрешаются мгновенно или несущественны для потока, но есть некоторые, которые переживают время ожидания, которое мне нужно ждать. Рассмотрим следующее:

cy.route('api/**').as('api');

request('api/api-1');
doSomething();
cy.wait('@api'); // works as expected.

request('api/api-2'); // resolves async, timing doesn't matter, don't need to wait
doSomething();

request('api/api-3');
doSomething();
cy.wait('@api'); // will resolve immediately for api/api-2 instead of api/api-3.

Я бы предпочел не использовать псевдоним для каждого указанного API-вызова c, который требует отдельного ожидания. Запросы, которые не ожидаются в тесте, выполняются в фоновом режиме на странице, поэтому я не могу просто добавить ожидания после каждого.

TLDR; Есть ли способ нацеливаться на самый последний запрос, который соответствует заданному псевдониму маршрута с ожиданием, а не разрешать их последовательно из очереди?

...