Так что у меня есть небольшая проблема с Cypress. Я пытался запустить некоторые тесты e2e с ним. Для контекста, в проекте в качестве промежуточного программного обеспечения я использую реагирование (функциональные компоненты и хуки), redux и redux-saga. Таким образом, я в основном вошел в приложение через POST-запрос, чтобы мне дали поварское имя ie, и приложение не вышло из системы. Затем я перешел на одну из страниц приложения. Там должно произойти несколько вещей:
- Вызов для получения пользовательских данных (работает, я получаю правильные данные в ответ)
2. Пользовательские данные должны быть сохранено в магазине редуксов.
Еще один вызов, чтобы потом получить некоторые данные для страницы, он использует пользовательские данные, которые были взяты в пункте 1.
Второй и третий шаги не работают, хотя пользователь Идентификатор в теле моего звонка на шаге 3 пуст. Я console.logged все состояние избыточности в приложении во время тестов, и это действительно пусто. Таким образом, похоже, что существует некоторая проблема либо в Redux-Saga, либо в самом Redx в сохранении данных. Хотя это немного странно, потому что Cypress не имеет доступа к этим местам, он работает на развернутой версии приложения ... (в приложении все работает нормально, конечно) У кого-нибудь была такая проблема или есть представление о том, как можно Я чиню это? Мой тест для контекста:
context('TEST', () => {
it('test', () => {
cy.request({
method: 'POST',
url: 'someUrl',
body: JSON.stringify({ email: 'someEmail', password: 'somePassword' }),
failOnStatusCode: false
});
cy.wait(2000); /* this was added when the test didn't work already, i thought it just might be some timing issue */
cy.visit('someRoute');
});
});