[英]Javascript Jest encountered an unexpected token
使用 Javascript 启动测试时,我遇到了这个错误。 我正在尝试使用 Phaser 3 构建游戏,并且我想在编写代码时进行测试。 这是它第一次出现,我的配置与其他项目相同。 错误之后是SyntaxError: Cannot use import statement outside a module
。 还有一些“转换”到我的配置的说明。 但我没有任何用于开玩笑配置的文件
我的测试:
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);
}
}
我的 package.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"
]
}
}
我找到了。 Babel 7 不适用于.babelrc,我不得不删除它并添加一个 babel.confij.js。 现在可以了!!!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.