У меня есть NodeJS проект с использованием Jest и babel. Когда я запускаю тест, я получаю следующую ошибку:
FAIL ./user.test.js
● Test suite failed to run.
SyntaxError: C:\Users\...\__test__\mocks\registerUser.json: Unexpected token, expected ";" (2:8)
Когда я изменяю registerUser. json на файл javascript, я могу получить содержимое без проблем, но когда я попытаться использовать файл JSON не будет работать. Но я не могу найти причину ошибки при использовании файла json.
Моя текущая структура выглядит примерно так:
|-- src
|-- __test__
|-- mocks
|-- registerUser.json
|-- user.test.js
|-- tmp
.babelrc
.eslintignore
.eslintrc
.gitignore
.prettierrc
jest.config.js
package.json
user.test. js
const userRegisterMock = require('./mocks/registerUser.json');
describe('User', () => {
it('[SUCCESS] should be able to register', async () => {
// console.log(userRegisterMock)
expect(true).toBe(true);
});
});
jest.config . js
module.exports = {
bail: 1,
testEnvironment: 'node',
clearMocks: true,
collectCoverage: true,
collectCoverageFrom: [
'src/**',
'!src/helpers/**',
'!src/app.js',
'!src/server.js',
'!src/database/**',
'!src/config/**'
],
coverageDirectory: '__tests__/coverage',
coverageReporters: ['text', 'lcov'],
coverageThreshold: {
global: {
branches: 100,
functions: 100,
lines: 100,
statements: 100
}
},
moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node'],
resetModules: false,
testMatch: ['**/__tests__/**/*.test.js'],
transform: {
'.(js|jsx|ts|tsx)': 'babel-jest'
}
};
.babelr c
{
"presets": [
["@babel/preset-env", {
"useBuiltIns": "usage", // or "entry"
"corejs": 3,
"targets": {
"node": "current"
}
}]
],
"plugins": [
["@babel/plugin-transform-modules-commonjs"],
["@babel/plugin-transform-runtime", {
"regenerator": true
}]
]
}
registerUser. json
{
"name": "Test Case",
"country": "Brazil",
"birthdate": "25/03/1994",
"sex": "Masculino",
"nationality": "Brasileiro"
}