как добавить контекст для сценариев с огурцом, как в мокко?
Мне было интересно, есть ли способ обернуть некоторые сценарии огурца в один контекст, такой же, как в мокко, чтобы использовать определенный крючок, такой как 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 ответ
Когда вы начинаете программировать функции огурца, вы неизменно делаете что-то не так. Вы должны программировать либо выше функций, вызывая огурец несколько раз (редко требуется), либо программировать ниже огурца, вызывая вспомогательные методы из определений шагов.
Вы никогда не должны пытаться сохранить что-то между сценариями или использовать один сценарий для настройки состояния для другого сценария. Такой путь приводит к очень хрупкому набору тестов, который сложно поддерживать и оптимизировать. Вместо этого следуйте стандартному огуречному подходу, когда каждый сценарий / тест начинается и заканчивается с чистого листа.