这是我的测试(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
部分在所有测试中完全相同。它能在测试后收拾残局。这是明显的代码重复。我怎样才能摆脱它?
通过在设置文件中定义方法,可以在运行每个测试时运行全局挂钩(before
、beforeEach
、after
和afterEach
(。
测试/设置.js
beforeEach(async () => {
// your code
})
我们需要告诉Mocha在哪里可以找到这个文件,我们可以通过在Mocha.opts中放置以下内容来完成(https://mochajs.org/#mochaopts)文件。
--file ./test/setup.js
您可以在此处阅读更多信息:https://mochajs.org/#root-水平挂钩。