Jest с graphql, «Плагин / Предустановленные файлы не могут экспортировать объекты, только функции» - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь написать несколько тестов для JEST и graphql, но получаю следующую ошибку, независимо от того, что у меня есть в моих файлах .test.js (даже если в нем вообще нет кода).

Файлы плагинов / предустановок не позволяют экспортировать объекты, только функции.В /Users/oscarstein/Documents/Projekt/Biljettsystem/ticketgo/system/node_modules/babel-preset-stage-2/lib/index.js

Мой файл .babelrc выглядит следующим образом:

{
    "presets": ["env", "stage-2"]
   }

Так что ошибка исходит от меня, используя предустановку «stage-2», и когда я ее удаляю, все отлично работает с тестами.Но так как мое приложение построено на этапе 2, мне было интересно, есть ли какой-нибудь обходной путь, использующий оба этапа - 2 и заставить работать JEST-тесты?


файл package.json

{
  "name": "system",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "nodemon --exec babel-node index.js",
    "test": "jest"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "apollo-server": "^2.1.0",
    "apollo-server-express": "^2.1.0",
    "bcrypt": "^3.0.2",
    "body-parser": "^1.18.3",
    "cors": "^2.8.5",
    "dotenv": "^6.1.0",
    "express": "^4.16.4",
    "graphql": "^14.0.2",
    "jest": "^24.0.0",
    "jsonwebtoken": "^8.3.0",
    "mysql2": "^1.6.4",
    "nodemailer": "^4.6.8",
    "nodemon": "^1.18.6",
    "pg": "^7.6.0",
    "sequelize": "^4.41.1",
    "stripe": "^6.22.0"
  },
  "devDependencies": {
    "@babel/core": "^7.2.2",
    "babel-cli": "^6.26.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-stage-2": "^6.24.1"
  }
}

1 Ответ

0 голосов
/ 10 февраля 2019

Babel 7 имеет предустановленные / подключаемые зависимости, отличные от предыдущих версийСсылка, опубликованная LoudNoises, показывает, как обновить зависимости.В вашем случае npm i -D @babel/preset-env @babel/preset-stage-2, а затем обновите .babelrc:

{
  "presets": ["@babel/env", "@babel/stage-2"]
}
...