1

我刚刚添加了 jest-puppeteer 以将其包含在我的测试套件中。部分设置是根据https://github.com/smooth-code/jest-puppeteertestEnvironment:"jsdom"删除我的。考虑到我正在使用可能在服务器上运行的 Next.js,并且无法访问诸如文档之类的浏览器对象,我如何在没有 的情况下运行我的快照测试?我正在寻找一种以编程方式更改 jest 配置的方法,但我找不到任何方法。有没有办法做到这一点?jest.config.jstestEnvironment:"jsdom"

4

1 回答 1

0

同样的情况。

您可以执行以下操作:

  1. 为单元和集成测试创建两个单独的配置。
  2. 使用不同的后缀命名您的单元和集成测试:.unit.js || .int.js
  3. 在 package.json 中创建不同的命令

jest.config.unit.js:

{testEnvironment: 'jsdom', testRegex: "\\.unit\\.ts"}

jest.config.integration.js:

{preset: "jest-puppeteer", testRegex: "\\.int\\.ts"}

包.json:

"unit": "jest -c jest.config.unit.js",
"int": "jest -c jest.config.integration.js",

在测试文件夹中:

/unit/test.unit.js

/int/test.int.js

于 2021-08-23T10:56:57.037 回答