Здравствуйте, я пытаюсь получить доступ к Httprequest, запускаемому компонентом реакции из моего кода javascript, чтобы проверить URL-адрес?
кто-нибудь может помочь, пожалуйста?
Скриншот httprequest, к которому я хочу получить доступ
Вот пример модульного теста, который я запускаю, я хочу добавить другой модульный тест, который проверяет правильность вызова httprequest.
.add('Search with "Occasion" keyword', () => {
const result = search('Iphone Occasion');
specs(() =>
describe('SEO Navigation Links', () => {
it('Should not contain "Occasion" keyword', () => {
const searchValue = result.find(Search).node.state.value.toLowerCase();
const contains = searchValue.includes('occasion');
expect(contains).toBeTruthy();
});
}),
);
return result;
});



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Лучшее, что я могу порекомендовать, это «патч обезьяны» для функции выборки (если она ее использует)
const realFetch = fetch;
fetch = (...args) => realFetch(...args).then(doStuff);
Он создает «промежуточное ПО», и когда веб-сайт попытается вызвать функцию выборки, он вызовет вашу
Убедитесь, что вы сделали копию исходной функции, чтобы избежать бесконечной рекурсии.
Если вы установите Сервисный работник, вы сможете запускать код на стороне клиента для всех запросов, которые делает ваша страница. Я не уверен, что вам нужно сделать, чтобы протестировать код, о котором вы говорите, но Service Worker может сообщить о запросе обратно в ваш собственный тестовый код на странице, или ответить любым содержимым, которое вы хотите, или изменить ответ сервера.
Мне жаль, что это корпорация, и я не могу ничего установить на данный момент :/
Service Workers «устанавливаются» веб-страницей в браузер, и они живут в браузере и обслуживают запросы для домена, который их установил. Это не то же самое, что установка программного обеспечения или даже установка расширения для браузера. Веб-страницам разрешено «устанавливать» их без какого-либо взаимодействия с пользователем. Это больше похоже на установку файла cookie, использование локального хранилища или запуск фонового веб-воркера.
Поделитесь кодом?