所有的testing都运行完毕之后再进行清理

是否有可能在Jest运行完成所有其他testing后运行的清理或拆卸任务? 与setupFiles允许在运行任何testing之前设置任务类似。 如果这也可以运行,不pipetesting是否有任何错误,奖励点。

afterAll(() => {})置于文件顶层(在任何describe函数之外)时,只会在完成特定文件的testing后才运行。

这个用例是我有许多testing文件将在一个开发数据库中创build用户,我不想让每个testing文件负责清理和删除用户。 编写testing时也可能发生错误,所以如果清理发生而不pipe错误是否会更好。

       

网上收集的解决方案 "所有的testing都运行完毕之后再进行清理"

setupFiles有一个兄弟钩子,它在每个testing套件之前都会setupFiles ,但在testing运行器之后(默认为Jasmine2)初始化了全局环境。

它被称为setupTestFrameworkScriptFile ,它将一个string作为参数,而不是像setupFiles的数组。

像这样使用它:

 { "setupTestFrameworkScriptFile": "<rootDir>/setup.js" } 

示例setup.js

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

setup.js不需要导出任何东西。 它将在每个testing套件(每个testing文件)之前执行。 由于testing运行器已经初始化,所以像beforeAllafterAll这样的全局函数就像在你的常规testing文件中一样,所以你可以afterAll调用它们。

setupTestFrameworkScriptFile在全部和afterAll之前触发