#cypress
Вопрос:
Я хочу проверить наши тесты, которые мы написали. Например, если разработчик создает тест с помощью команды type, например:
cy.get('input').type('Hello, World')
Я хочу проверить, имеет ли этот тип() опцию log:false. Если нет опции log:false, то провалите тест.
Код должен выглядеть так:
cy.get('input').type('Hello, World', { log: false })
Кто-нибудь использовал Cypress для этого? Запуск тестов для проверки наших тестов.
Ответ №1:
Не совсем то, о чем вы спрашивали, но
/cypress/support/index.js
Cypress.Commands.overwrite('type', (originalFn, text, options) =gt; { // enforce no-log policy return originalFn(text, { ...options, log: false }) })
Или, если вам нравится пошевелить пальцем
Cypress.Commands.overwrite('type', (originalFn, text, options) =gt; { if (!options.log || options.log) { throw " 👎 No logging allowed on .type()" } return originalFn(text, options) })
Комментарии:
1. Большое спасибо! Это идеально. Я не знал, что вы можете обойти функцию cypress. Я выполнил это действие следующим образом:
if (options.log === true || options.log === undefined) {
это означает, что, если ведение журнала не определено или истинно, он сообщит разработчику, что это необходимо изменить на ложное. Спасибо вам за помощь!2. Да, я немного ошибся в логике «если». Имейте в виду
!option.log
, что будут пойманы явные{ log: false }
настройки, но это вряд ли будет использовано?