gpt4 book ai didi

node.js - 在所有测试运行后开 Jest 清理

转载 作者:IT老高 更新时间:2023-10-28 23:16:02 24 4
gpt4 key购买 nike

是否可以在 Jest 中运行在所有其他测试完成后运行的清理或拆卸任务?类似于 setupFiles 允许在任何测试运行之前设置任务的方式。如果无论测试是否有任何错误,它也可以运行,则可以加分。

afterAll(() => {}) 放在文件的顶层(在任何 describe 函数之外)似乎只会在该特定文件的测试完成后运行。

用例是我有许多测试文件将在开发数据库中创建用户,我不想让每个测试文件负责清理和删除用户之后。编写测试时也可能发生错误,因此如果不管错误如何都发生清理,那将是更可取的。

最佳答案

setupFiles 有一个兄弟钩子(Hook),它会在每个测试套件之前但在你的测试运行器(默认为 Jasmine2)初始化全局环境之后立即触发。

它叫做 setupFilesAfterEnv .像这样使用它:

{
"setupFilesAfterEnv": ["<rootDir>/setup.js"]
}

示例setup.js:

beforeAll(() => console.log('beforeAll'));
afterAll(() => console.log('afterAll'));

setup.js 不需要导出任何内容。它将在每个测试套件(每个测试文件)之前执行。因为测试运行器已经初始化,像 beforeAllafterAll 这样的全局函数就像在你的常规测试文件中一样,所以你可以随意调用它们。

setupTestFrameworkScriptFile firing beforeAll and afterAll

关于node.js - 在所有测试运行后开 Jest 清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com