Я тестирую приложение мастера форм с 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; Есть ли способ нацеливаться на самый последний запрос, который соответствует заданному псевдониму маршрута с ожиданием, а не разрешать их последовательно из очереди?