Наши тесты Cypress должны выполняться в среде CI, такой как Jenkins. Представьте себе следующий сценарий:
- При каждой фиксации я хотел бы запускать тесты с заглушками , чтобы быстро получить обратную связь.
- Один раз в день тесты должен работать без заглушек , т.е. должен вызываться реальный серверный API.
Как упоминалось в Cypress docs , можно заглушить ответы API, используя cy.server()
и cy.route()
. Теперь я бы хотел избежать дублирования тестов, когда один работает с заглушками, а другой - нет.
Как бы вы это восприняли? Моя первая идея заключалась в том, чтобы использовать переменную среды, которая контролирует, заглушить или нет. Что-то вроде этого:
if (useStubs === true) {
cy.server();
cy.route({...};
}
Однако для этого потребуется вставить такой блок кода в каждый затронутый тест.
Или Cypress предоставляет встроенный механизм для этого, а я не известно о?