Я поддерживаю модульные тесты для HTTP-сервера, написанного с помощью Express, и у меня МНОГО дублированного кода в моих хуках beforeEach.
Чтобы факторизовать этот код, я хочу создать два пользовательских хука prepare()
и execute()
, которые будут действовать как "упорядоченные хуки перед каждым".
Вот как они будут использоваться:
describe('Root', () => {
prepare(() => {
console.log('Root/Prepare');
});
execute(() => {
console.log('Root/Execute');
});
it('Root test', () => {
expect(true).to.be.true;
});
describe('Sub', () => {
prepare(() => {
console.log('Sub/Prepare');
});
execute(() => {
console.log('Sub/Execute');
});
it('Sub test', () => {
expect(true).to.be.true;
});
});
});
Ожидаемый результат для "Root test" будет:
Root/Prepare
Root/Execute
А для "Суб-теста" это будет:
Root/Prepare
Sub/Prepare
Root/Execute
Sub/Execute