Next.js 的 loadEnvConfig 无法加载 Cypress 支持文件中的环境变量

问题描述 投票:0回答:1

我需要在 Cypress 测试中使用 Next.js 项目中的一些环境变量,似乎正确的方法是使用 loadEnvConfig

 中的 
@next/env

赛普拉斯支持在每次测试之前运行代码通过其支持文件

这就是我的支持文件的样子:

import { loadEnvConfig } from '@next/env'
import './commands'

loadEnvConfig('/path/to/my/project')

当我在开发模式下运行 Next,然后运行 Cypress 时,我在控制台中收到以下错误:

index.js:1 Failed to load env from .env.production.local TypeError: t.statSync is not a function
    at loadEnvConfig (index.js:1)
    at Object../cypress/support/index.js (index.js:4)
    at __webpack_require__ (bootstrap:19)
    at Object.0 (tests?p=cypress/support/index.js:682)
    at __webpack_require__ (bootstrap:19)
    at eval (bootstrap:83)
    at eval (bootstrap:83)
    at eval (<anonymous>)

还有另外三个类似的,分别是

.env.local
.env.production
.env

javascript next.js cypress
1个回答
0
投票

我正在使用 Jest,但是我的问题可能与您遇到的问题相同;查看 Next 配置文档

中的注释

很高兴知道:类似于默认环境变量,

.env.test
文件 应该包含在您的存储库中,但
.env.test.local
不应该包含, 因为
.env*.local
旨在通过
.gitignore
被忽略。

只需复制

.env.local
->
.env.test.local
即可解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.