Jest выдает ошибку функции undefined, даже если функция определена в указанном файле. Я тестирую функцию, определенную в cards.js, но jest также выполняет мой файл редуктора, когда я запускаю тест с использованием 'npm
test ', и в файле редуктора выдается сообщение о том, что fun не определена, но эта функция определена в helper.js, а также отлично работает, когда я запускаю свое приложение. Выдает только ошибку в тестовой консоли npm.
Ошибка: ● Не удалось запустить набор тестов
Ошибка типа: (0, _helper.addValue) не является функцией
helper.js
export const addValue = (a, b) => a+ b
filter.reducer.js
import {addValue} from '../helper';
const result = addValue(5,4);
.
.
.
.
cards.js
import {pipe, prop} from 'ramda'
exprot const transformCardData = (response) =>{
if(isEmpty(response)){
return {}
}
return pip(
prop('values)
)
}
`
cards.test.js
describe('testing transformCardData function ', ()=>{
it('testing empty response',()=>{
expect(transformCardData({})).toBe({})
}
}
package.json jest config
"scripts": {
"analyze": "source-map-explorer build/static/js/main.*",
"start": "node scripts/start.js",
"build": "NODE_ENV='production' GENERATE_SOURCEMAP=false node scripts/build.js",
"test": "node scripts/test.js"
},
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,mjs}"
],
"setupFiles": [
"<rootDir>/config/polyfills.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web"
},
"moduleDirectories": [
"node_modules",
"src"
],
"moduleFileExtensions": [
"web.js",
"mjs",
"js",
"json",
"web.jsx",
"jsx",
"node"
]
},
"devDependencies": {
"babel-jest": "20.0.3",
"jest": "^23.6.0",
"jest-cli": "^23.6.0",
.
.
.
}
test.js
'use strict';
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'test';
process.env.NODE_ENV = 'test';
process.env.PUBLIC_URL = '';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', err => {
throw err;
});
// Ensure environment variables are read.
require('../config/env');
const jest = require('jest');
const argv = process.argv.slice(2);
// Watch unless on CI or in coverage mode
if (!process.env.CI && argv.indexOf('--coverage') < 0) {
argv.push('--watch');
}
jest.run(argv);