как добавить контекст для сценариев с огурцом, как в мокко?

Мне было интересно, есть ли способ обернуть некоторые сценарии огурца в один контекст, такой же, как в мокко, чтобы использовать определенный крючок, такой как beforeAll,

              before(() => {
             this will run once beforeAll
        });
    it('01. example', () => {
             do something
       });

    context('05. Forget password Tests', () => {
        before(() => {
             this will run once beforeAll
        });

        it('05-1. should get an error when no email is provided', () => {
              do somthing
        });
)}

поскольку альтернативный вариант - использовать before с тегами, но он будет действовать аналогично beforeEach, и он будет запускаться перед каждым сценарием, сценарий выше показывает, что перед обработчиком первый запускается один раз перед контекстом, а второй запускается один раз перед тем, как все блоки внутри контекст, и это то, чего я хочу достичь в огурце.

1 ответ

Когда вы начинаете программировать функции огурца, вы неизменно делаете что-то не так. Вы должны программировать либо выше функций, вызывая огурец несколько раз (редко требуется), либо программировать ниже огурца, вызывая вспомогательные методы из определений шагов.

Вы никогда не должны пытаться сохранить что-то между сценариями или использовать один сценарий для настройки состояния для другого сценария. Такой путь приводит к очень хрупкому набору тестов, который сложно поддерживать и оптимизировать. Вместо этого следуйте стандартному огуречному подходу, когда каждый сценарий / тест начинается и заканчивается с чистого листа.

Другие вопросы по тегам