如何为我的摩卡咖啡测试创建自定义挂钩?

时间:2019-06-12 18:04:17

标签: javascript mocha hook

我正在维护用Express编写的HTTP服务器的单元测试,并且在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/Prepare
Root/Execute

对于“子测试”,它将是:

Root/Prepare
Sub/Prepare
Root/Execute
Sub/Execute

1 个答案:

答案 0 :(得分:0)

Mocha 公开了一个 API 来创建自定义钩子。你可以here得到它。