这个问题通常是由于测试套件单个文件中的冲突引起的。为了解决这个问题,可以使用Jest提供的globalSetup和globalTeardown选项,在整个测试套件中运行一次beforeAll()和afterAll()。
示例代码:
const someSetupFunction = async () => {
// setup code here
};
const someTeardownFunction = async () => {
// teardown code here
};
module.exports = async () => {
await someSetupFunction();
await global.__OLD_BEFORE_ALL__();
await global.__OLD_AFTER_ALL__();
await someTeardownFunction();
};
"jest": {
"globalSetup": "./setup.js",
"globalTeardown": "./teardown.js"
}
注意:如果您的测试需要某些共享状态,请将其保存在全局变量中,并在全局teardown函数中进行清理。
上一篇:不同测试用例之间的打印格式不同