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