Jestjs 如何在jest测试中为无服务器框架设置环境变量

Jestjs 如何在jest测试中为无服务器框架设置环境变量,jestjs,environment-variables,serverless-framework,serverless,Jestjs,Environment Variables,Serverless Framework,Serverless,我正在使用Jest为我的无服务器框架服务进行集成测试。目前我有指定环境变量的.env文件,这就是我的问题所在 在my package.json中,我有: ... "scripts": { ... "start": "npx sls offline start --env local --httpPort xxxx --port xxxx --lambdaPort xxxx" } ... 当我调用warn start时,服务将正

我正在使用Jest为我的无服务器框架服务进行集成测试。目前我有指定环境变量的.env文件,这就是我的问题所在

在my package.json中,我有:

...
"scripts": {
  ...
  "start": "npx sls offline start --env local --httpPort xxxx --port xxxx --lambdaPort xxxx"
}
...
当我调用
warn start
时,服务将正确开始读取.env.local文件。但是,当我在beforeAll函数中调用
exec('warn start')
时(因为我需要运行服务来测试端点),服务将从.env文件而不是.env.local中的配置启动

我没有办法设置正确的变量,我使用了jest setupFiles并尝试手动设置变量,如
process.env.ENV1='XX'
,但没有成功。到目前为止,唯一有效的方法是将我的测试脚本从
jest
更改为
ENV1=X ENV2=Y ENV3=Z jest
,但感觉不太对劲