【发布时间】:2020-03-12 19:11:28
【问题描述】:
有没有办法只为某些测试('it' 块)执行 beforeEach 函数。
我有一个量角器清理文件,其中包含应该在每个测试用例之后运行的 aftereach 函数。有没有办法在某些测试用例('it' 块)中不执行它们。
afterEach(() => {
common.performance.captureMemory();
replay.cleanReplay();
dialog.cleanupDialog(); // Will also close search page source selector dialog if open
pinboards.closeVizContextIfOpen();
common.util.dismissNotificationIfPresent();
formula.closeFormulaEditorIfOpen();
common.util.ensureLoggedInAsDefaultUser();
common.util.clearStickerSelection();
common.util._uniqueNameSeed = -1;
});
I tried this:
global.defaultJasmineAfterEach = () => {
common.performance.captureMemory();
replay.cleanReplay();
dialog.cleanupDialog(); // Will also close search page source selector dialog if open
pinboards.closeVizContextIfOpen();
common.util.dismissNotificationIfPresent();
formula.closeFormulaEditorIfOpen();
common.util.ensureLoggedInAsDefaultUser();
common.util.clearStickerSelection();
common.util._uniqueNameSeed = -1;
};
global.overrideAfterEachOnce = (fn) => {
global.jasmineAfterEach = fn;
};
global.jasmineAfterEach = defaultJasmineAfterEach;
// This beforeEach block will run after every test, we use this to perform some cleanup that might
// be necessary before next test can run.
afterEach(() => {
global.jasmineAfterEach();
if (global.jasmineAfterEach !== global.defaultJasmineAfterEach) {
global.jasmineAfterEach = global.defaultJasmineAfterEach();
}
});```
Thanks in advance. :)
【问题讨论】:
-
有一些可行的方法。每次您不想运行它时是否都进行相同的测试?大概需要多少测试?
-
大约 8 到 10 个测试用例。所有这些情况都有从非角度页面到有角度页面的重定向。
标签: javascript jasmine protractor