Может ли Jest использовать Puppetter & Enzyme одновременно? - PullRequest
0 голосов
/ 10 января 2020

Это мой файл конфигурации jest

module.exports = {
  rootDir: 'src',
  // collectCoverage: true,
  collectCoverageFrom: [
    '<rootDir>/**/*',
    '<rootDir>/**/*.{ts,tsx}',
    '!**/assets/**',
    '!**/dummy/**',
    '!**/test/**',
    '!**/coverage_result/**',
  ],
  coverageReporters: ['text', 'lcov', 'json'],
  preset: 'jest-puppeteer',
  setupFilesAfterEnv: ['jest-puppeteer-istanbul/lib/setup'],
  reporters: ['default', 'jest-puppeteer-istanbul/lib/reporter'],
  coverageDirectory: 'coverage_result',
};

, и я уже использую Puppeteer, и он работает.

Теперь я хочу добавить модульный тест в проект, поэтому мне нужен энзим вытащить метод из компонента

Можете ли вы показать мне, как отредактировать мой конфигурационный файл для запуска теста кукловода и энзима?

Дополнительный вопрос:

Это мой пакет. json

{
  "dependencies": {
    "@sentry/browser": "^5.6.3",
    "@types/moment-timezone": "^0.5.12",
    "axios": "^0.18.0",
    "bmd-components": "1.0.0",
    "history": "^4.7.2",
    "jquery": "^3.4.0",
    "jsona": "^1.3.0",
    "lerna": "^3.4.0",
    "lodash": "^4.17.15",
    "moment": "^2.22.2",
    "moment-timezone": "^0.5.26",
    "node-sass": "^4.12.0",
    "query-string": "^6.4.0",
    "react": "^16.8.6",
    "react-document-title": "^2.0.3",
    "react-dom": "^16.8.6",
    "react-google-login": "^5.0.5",
    "react-gtm-module": "^2.0.4",
    "react-router": "^5.0.0",
    "react-router-dom": "^5.0.0",
    "react-scripts": "2.1.8",
    "react-scripts-ts-sass": "******",
    "sonarqube-scanner": "^2.5.0"
  },
  "scripts": {
    "dev": "yarn start",
    "start": "PORT=3014 react-scripts-ts start",
    "build": "react-scripts-ts build",
    "test": "jest --runInBand --detectOpenHandles --forceExit",
    "eject": "react-scripts eject",
    "format": "prettier --print-width 80 --tab-width 2 --single-quote --write 'src/**/{*.js,*.ts*}'",
    "scan": "node sonar-project.ts"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "devDependencies": {
    "@babel/preset-typescript": "^7.7.4",
    "@types/file-saver": "^2.0.1",
    "@types/history": "^4.7.1",
    "@types/node": "^10.11.7",
    "@types/react": "^16.8.17",
    "@types/react-document-title": "^2.0.3",
    "@types/react-dom": "^16.8.4",
    "@types/react-router": "^4.0.32",
    "babel-core": "^7.0.0-bridge.0",
    "babel-plugin-istanbul": "^5.2.0",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.2",
    "jest": "^24.9.0",
    "jest-puppeteer": "^4.3.0",
    "jest-puppeteer-istanbul": "*",
    "puppeteer": "^1.19.0",
    "puppeteer-to-istanbul": "^1.2.2",
    "react-cookies": "^0.1.1",
    "regenerator-runtime": "^0.13.3",
    "typescript": "^3.1.3"
  },
  "prettier": {
    "printWidth": 100,
    "tabWidth": 2,
    "useTabs": false,
    "singleQuote": true,
    "trailingComma": "all"
  }
}

Смотрите, я уже установил babel et c, но в моем тестовом файле я столкнулся с этой проблемой с import

import axios from 'axios';
           ^^^^^

    SyntaxError: Unexpected identifier

Что мне нужно отредактировать, чтобы мой тестовый файл читал ES6?

...