Кипарис | Есть ли способ проверить тесты, которые мы написали

#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 } настройки, но это вряд ли будет использовано?