Jestを使用して一部のNodeJS関数のいくつかのテストを行いますが、import
ステートメントは好きではありません。 import DatabaseController from '../util/database-controller'
。
私はいくつかの読書をしていて、人々はbabel-jest
のインストールと私の設定(以下)の更新を提案しましたが、私は運がありませんでした。何が欠けていますか?私が理解していることから、import
ステートメントはes6
のものであるため、理解しません...
package.json
の一部:
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx}"
],
"resolver": "jest-pnp-resolver",
"setupFiles": [
"react-app-polyfill/jsdom"
],
"testMatch": [
"<rootDir>/**/__tests__/**/*.{js,jsx}",
"<rootDir>/**/?(*.)(spec|test).{js,jsx}"
],
"testEnvironment": "jsdom",
"testURL": "http://localhost",
"transform": {
"^.+\\.jsx?$": "babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"web.js",
"js",
"json",
"web.jsx",
"jsx",
"node"
]
},
これは私の簡単な設定でうまくいきました:
devDependencies(package.json
):
"devDependencies": {
"babel-eslint": "^10.0.3",
"babel-preset-env": "^1.7.0",
"jest": "^24.9.0",
"parcel-bundler": "^1.12.3"
}
私は単にbabel.config.js
次のように:
// babel.config.js
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
};
注-実行する前に必ずキャッシュをクリアしてください!
キャッシュの消去:
./node_modules/.bin/jest --clearCache