在beforeEach之后运行函数

时间:2017-02-22 11:32:40

标签: mocha

我需要在测试之前运行一个函数,但毕竟是之前的事情。有没有一种方法可以在beforeEaches之前优先排序,重新排序它们或monkeypatching一些东西,以便我可以在测试执行之前运行一个函数?

原因:我想计算我的测试执行的数据库调用次数,但不包括beforeEach调用的数据库。

1 个答案:

答案 0 :(得分:0)

Mocha按照在代码中遇到它们的顺序执行与测试相关的beforeEach挂钩,因此不需要monkeypatch。例如:

describe("top", () => {
    beforeEach(() => {
        console.log("A");
    });

    describe("down", () => {

        beforeEach(() => {
            console.log("B");
        });

        beforeEach(() => {
            console.log("C");
            // Put your code here.
        });

        it("test 1", () => {});
        it("test 2", () => {});
    });
});

以上输出:

  top
    down
A
B
C   
      ✓ test 1
A
B
C   
      ✓ test 2