每次卡玛测试后如何清理?

问题描述 投票:0回答:1

这是我的测试(噶玛+摩卡)。

describe('foo', function() {
  afterEach(function() {
    var id = window.setTimeout(function() {}, 0);
    while (id--) {
      window.clearTimeout(id);
    }
  });
  it('works', function() {
    document.body.innerHTML = '<html/>';
    // add some timeouts here
  });
});

这是我的测试(因果报应+摩卡): afterEach 部分在所有测试中是完全相同的。它清理了测试后的混乱。这是明显的代码重复。怎么才能把它去掉呢?

javascript mocha karma-runner
1个回答
1
投票

你可以运行一个全局钩子(before, beforeEach, afterafterEach)在运行每个测试时,通过在设置文件中定义一个方法。

testetup.js

beforeEach(async () => {  
  // your code
})

我们需要告诉Mocha在哪里可以找到这个文件,我们可以通过将下面的内容放在 摩卡.opts (https:/mochajs.org#mochaopts)文件。

--file ./test/setup.js

你可以在这里阅读更多关于它的信息。https:/mochajs.org# root-level-hooks.

© www.soinside.com 2019 - 2024. All rights reserved.