Javascript Jest обнаружил неожиданный токен - PullRequest
0 голосов
/ 02 августа 2020

Я столкнулся с этой ошибкой при запуске тестов с Javascript. Я пытаюсь создать игру с Phaser 3 и хочу проводить тесты, пока пишу код. Он появляется впервые и у меня такой же конфиг, как и в других проектах. За ошибкой следует SyntaxError: Cannot use import statement outside a module. И несколько инструкций по «преобразованию» в мою конфигурацию. Но у меня нет файла для конфигурации jest

мой тест:

import { getScore, setScore } from '../src/helpers/leaderboard';

describe('Should set and get score from the API', ()=>{
  it('should save the score into the API', ()=>{
    setScore('Dung', 50000).then(data => {
      expect(data.result).toBe('Leaderboard score created correctly.');
    });
  });
  it('should get the name of the player', async ()=>{
      const user = await getScore();
      expect(user.result.score).toEqual(50000);
    });
});

Мой файл. js:

export const setScore = async (playerName = '', gameScore = 0) => {
  const info = {
    user: playerName,
    score: gameScore,
  };
  const settings = {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(info)
  };
  try {
    const response = await fetch(url, settings);
    const data = await response.json();
    return data;
  } catch (e) {
    return e;
  }
}

export const getScore = async () => {
  try {
    const response = await fetch(url, {
      mode: 'cors'
    });
    const data = await response.json();
    return data.result;
  } catch (error) {
    console.error('Error:', error);
  }
}

мой пакет. json :

{  
  "main": "src/index.js",
  "scripts": {
    "test": "jest",
    "build": "webpack --config webpack/prod.js ",
    "start": "webpack-dev-server --config webpack/base.js --open"
  },
  "keywords": [],  
  "devDependencies": {
    "@babel/core": "^7.10.5",
    "@babel/plugin-transform-modules-commonjs": "^7.10.4",
    "@babel/preset-env": "^7.10.4",
    "babel-loader": "^8.1.0",
    "clean-webpack-plugin": "^3.0.0",
    "file-loader": "^4.3.0",
    "html-webpack-plugin": "^3.2.0",
    "jest": "^26.1.0",
    "jest-canvas-mock": "^2.2.0",
    "raw-loader": "^3.1.0",
    "terser-webpack-plugin": "^2.3.7",
    "webpack": "^4.44.0",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0",
    "webpack-merge": "^4.2.2"
  },
  "dependencies": {
    "@babel/plugin-proposal-class-properties": "^7.10.4",
    "babel-jest": "^26.2.2",
    "node-fetch": "^2.6.0",
    "phaser": "^3.24.1",
    "phaser3-rex-plugins": "^1.1.21",
    "regenerator-runtime": "^0.13.7"
  },
  "jest": {
    "setupFiles": [
      "jest-canvas-mock"
    ]
  }
}

1 Ответ

0 голосов
/ 02 августа 2020

Я нашел. Babel 7 не работает с .babelr c, мне пришлось удалить его и добавить babel.confij. js. Теперь работает !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...