这是我的测试(噶玛+摩卡)。
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
)在运行每个测试时,通过在设置文件中定义一个方法。
testetup.js
beforeEach(async () => {
// your code
})
我们需要告诉Mocha在哪里可以找到这个文件,我们可以通过将下面的内容放在 摩卡.opts (https:/mochajs.org#mochaopts)文件。
--file ./test/setup.js
你可以在这里阅读更多关于它的信息。https:/mochajs.org# root-level-hooks.