大佬教程收集整理的这篇文章主要介绍了Jest 中的 globalSetup、setupFiles、setupFilesAfterEnv 和 beforeAll 有什么区别,它们的具体用途是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经阅读了 jest 文档,我认为它们按此顺序运行。我也明白 globalSetup 在不同的进程中运行,因此不与常规测试套件共享任何范围,而是与 globalTeardown 共享任何范围,因此这将是启动测试数据库服务器的好地方。
无论如何,我不清楚我是否做对了以及@R_656_10675@用其他的。
globalSetup
导出 async
函数的模块的路径,该函数将在一切之前运行一次。此处定义的全局变量只能在 globalTeardown
中读取。
通常,模拟任何依赖项更有意义,但如果您别无选择,只能启动在测试期间绝对必须运行的数据库或其他外部服务,则可以使用 globalSetup
做吧。
setupFiles
/ setupFilesAfterEnv
setupFiles
是将在每个测试文件和安装测试框架之前运行一次的模块列表。
setupFilesAfterEnv
是将在每个测试文件之前但在环境中安装测试框架之后运行一次的模块列表。
通常 setupFilesAfterEnv
是应该在每个测试文件之前运行的任何设置代码的正确位置。仅当您有特定原因需要在安装测试框架之前运行代码时才使用 setupFiles
。
您可以将 setupFilesAfterEnv
视为全局 beforeAll
。
如果必须在每个测试文件的开头执行某些操作(例如:configuring the Enzyme adapter),则在 setupFilesAfterEnv
文件中执行一次是有意义的。
beforeAll
jest
将在运行其他任何东西之前运行一次测试文件中的所有 beforeAll
函数。
对于必须在特定测试文件开头运行一次的代码,请使用 beforeAll
。
package.json
{
...
"jest": {
"globalSetup": "./globalSetup.js","globalTeardown": "./globalTeardown.js","setupFiles": ["./setupFile.js"],"setupFilesAfterEnv": ["./setupFileAfterEnv.js"]
}
}
globalSetup.js
@H_538_10@module.exports = async () => { console.log('in globalSetup'); global.GLOBALSETUP = 'globalSetup'; };
globalTeardown.js
@H_538_10@module.exports = async () => { console.log('in globalTeardown'); console.log(global.GLOBALSETUp); };
setupFile.js
console.log('in setupFile');
global.order = [];
global.order.push(1);
setupFileAfterEnv.js
console.log('in setupFileAfterEnv');
global.order.push(2);
test.js
beforeAll(() => {
console.log('in beforeAll');
global.order.push(3);
});
test('order',() => {
expect(global.GLOBALSETUp).toBeUndefined(); // succesS
expect(global.order).toEqual([1,2,3]); // succesS
});
输出
Determining test suites to run...in globalSetup
console.log
in setupFile
at Object.<anonymous> (setupFile.js:1:98)
console.log
in setupFileAfterEnv
at Object.<anonymous> (setupFileAfterEnv.js:1:1)
console.log
in beforeAll
at Object.<anonymous>.beforeAll (src/test.js:3:11)
PASS src/test.js
✓ order (4 ms)
Test Suites: 1 passed,1 @R_246_10586@l
Tests: 1 passed,1 @R_246_10586@l
Snapshots: 0 @R_246_10586@l
Time: 0.658 s,estimated 1 s
Ran all test suites.
in globalTeardown
globalSetup
Watch Usage: Press w to show more.
@H_673_116@
以上是大佬教程为你收集整理的Jest 中的 globalSetup、setupFiles、setupFilesAfterEnv 和 beforeAll 有什么区别,它们的具体用途是什么?全部内容,希望文章能够帮你解决Jest 中的 globalSetup、setupFiles、setupFilesAfterEnv 和 beforeAll 有什么区别,它们的具体用途是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。