未为ts-jest和puppeteer定义浏览器

时间:2018-09-10 18:12:25

标签: typescript jestjs puppeteer

我正在尝试为我的typescript create react app木偶创建快照测试。使用 jest进行常规测试可以很好地工作,但是一旦我尝试使用浏览器创建快照,并且必须在我的{中使用browser变量{1}}个文件,我被告知.test.ts

即使我已经尝试解决几个小时了,我似乎也无法解决此问题。

作为参考,这是我的browser is not defined文件中的笑话设置:

package.json

这是我正在使用的依赖项:

  "jest": {
"preset": "jest-puppeteer-preset",
"collectCoverageFrom": [
  "src/**/*.{js,jsx,ts,tsx}"
],
"setupFiles": [
  "<rootDir>/config/polyfills.js"
],
"testMatch": [
  "<rootDir>/src/**/__tests__/**/*.(j|t)s?(x)",
  "<rootDir>/src/**/?(*.)(spec|test).(j|t)s?(x)"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
  "^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
  "^.+\\.tsx?$": "<rootDir>/config/jest/typescriptTransform.js",
  "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
  "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
  "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|ts|tsx)$"
],
"moduleNameMapper": {
  "^react-native$": "react-native-web"
},
"moduleFileExtensions": [
  "web.ts",
  "ts",
  "web.tsx",
  "tsx",
  "web.js",
  "js",
  "web.jsx",
  "jsx",
  "json",
  "node",
  "mjs"
],
"globals": {
  "ts-jest": {
    "tsConfigFile": "tsconfig.test.json"
  }
}

任何帮助将不胜感激!


解决方案: 结合以下标记的答案和this guide,一切对我来说都是成功的。由于某种原因,我试图将"typescript": "^2.9.2", "puppeteer": "^1.1.1", "jest-image-snapshot": "^2.3.0", "jest": "22.4.2", "jest-puppeteer-preset": "^2.0.1", "ts-jest": "22.0.1", 作为全局变量进行访问。原来,我从一开始就做错了。您应该这样定义浏览器:

browser

最终工作了。

0 个答案:

没有答案