Jestjs 什么时候应该使用setupFiles而不是setupfileafterenv?

Jestjs 什么时候应该使用setupFiles而不是setupfileafterenv?,jestjs,Jestjs,我看到,在每次测试之前运行一些代码时,有两个配置选项可供选择:setupFiles和setupfileafterenv。在我看来,setupfileafterenv提供了更大的灵活性(我可以使用jest,beforeach等等…),所以我不知道在什么环境下setupFiles会更有用。是否有人可以提供一个示例,说明您需要使用setupFiles而不是setupfileafterenv 文档:我们可以从文档中看到setupFiles和setupFiles afterenv之间的区别 最重要的区别可

我看到,在每次测试之前运行一些代码时,有两个配置选项可供选择:
setupFiles
setupfileafterenv
。在我看来,
setupfileafterenv
提供了更大的灵活性(我可以使用
jest
beforeach
等等…),所以我不知道在什么环境下
setupFiles
会更有用。是否有人可以提供一个示例,说明您需要使用
setupFiles
而不是
setupfileafterenv


文档:

我们可以从文档中看到setupFilessetupFiles afterenv之间的区别

最重要的区别可能是它运行的时间

将执行设置文件

在环境中安装测试框架之前

将执行setupfileafterenv

在环境中安装测试框架之后

这就是为什么这个名字有AfterEnv

实际上,我在实际项目中使用了这两种方法

在我的例子中,我使用setupFiles设置fro
.env
值,并使用setupfileafterenv设置jest配置,如
jest.setTimeout(70000)


>>就我而言>>>>>>>>>>>>>>>>>>>>>

jest.config.js

  setupFiles: ['<rootDir>/tests/settings/env-setup.ts'],
  setupFilesAfterEnv: ['<rootDir>/testSetupFile.js'],
testSetupFile.ts

import dotenv from 'dotenv';
import path from 'path';

console.log(`============ env-setup Loaded ===========`);
dotenv.config({ path: path.resolve(process.cwd(), 'tests', 'settings', '.test.env') });
// Some of the `jest` tests are very slow and cause
// timeouts on bitbucket pipeline
console.log(`============ testSetupFile Loaded ===========`);
jest.setTimeout(70000);


谢谢你的回答。您是否可以在
setupFilesAfterEnv
中设置这些
.env
值?在设置env之前是否必须先进行设置?或者只是为了美观,您更喜欢在
设置文件中设置它们?是的,我想这取决于您。但是,我认为.env应该在setupFileAfterEnv之前设置(或设置良好)。因为通常,.env值是运行应用程序的最基本值。我将编辑我的帖子,以显示我看到的env-setup.ts和testSetupFile.tsah。这是有道理的。