繁体   English   中英

每次 Karma 测试后如何清理?

[英]How to clean up after each Karma test?

这是我的测试(Karma + Mocha):

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部分在所有测试中完全相同。 它会在测试后清理混乱。 这是明显的代码重复。 我怎样才能摆脱它?

通过在设置文件中定义方法,您可以在运行每个测试时运行全局挂钩( beforebeforeEachafterafterEach )。

测试/setup.js

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

我们需要告诉 Mocha 在哪里可以找到这个文件,我们可以通过将以下内容放在mocha.opts ( https://mochajs.org/#mochaopts ) 文件中来做到这一点。

--file ./test/setup.js

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM