반응형
JEST 유닛 테스트스크립트가 TypeError: this로 실패합니다._environment.runScript는 함수가 아닙니다.
저는 Vue 어플리케이션의 Jest 유닛 테스트 셋업을 맡았습니다.나는 그것을 이루기 위해 여러 번 시도했고 여기 있는 다른 질문들 덕분에 도중에 몇 가지 문제들을 해결했다.하지만, 지금은, 다음의 에러에 시달리고 있습니다.npm run test:unit
("test: 유닛": "vue-cli-service test: 유닛")
TypeError: this._environment.runScript is not a function
at Runtime._execModule (node_modules/@vue/cli-plugin-unit-jest/node_modules/jest-runtime/build/index.js:856:41)
패키지에 추가한 Jest 설정을 다음에 나타냅니다.json:
"jest": {
"testEnvironment": "jsdom",
"preset": "ts-jest",
"moduleNameMapper": {
"\\.(css|less|sass|scss)$": "<rootDir>/tests/mocks/styleMock.js",
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"<rootDir>/src/data/.+\\.(j|t)sx?$": "ts-jest",
".*\\.(vue)$": "vue-jest",
".*\\.(js)$": "babel-jest"
},
"transformIgnorePatterns": [
"/node_modules/(?!vuetify)",
"<rootDir>/src/(?!data/.*)"
],
"testPathIgnorePatterns": [
"/node_modules/(?!vuetify)"
]
}
원래 test Environment는 'node'를 가지고 있었습니다.하지만 이건 내가 맡을게_environment.runScript는 처음 기능 오류가 아닙니다.대신 'jsdom'을 사용할 수 있다고 읽었어요.이를 위해 babel.config.js를 업데이트했습니다.
module.exports = {
env: {
test: {
presets: [['env', { targets: { node: 'current' } }]],
plugins: ['@babel/plugin-transform-modules-commonjs'],
},
},
}
그러나 이로 인해 babel-preset-env 모듈이 누락되었다는 오류가 발생하였습니다.제가 알기로는 이 모듈은 더 이상 독립형 모듈이 아닙니다.그래서 babel.config.js를 변경했습니다.
module.exports = {
presets: [
[
'@babel/preset-env',
{
modules: 'commonjs',
targets: {
node: 'current',
},
},
],
],
}
이제 TypeError로 돌아갑니다.이것._environment.runScript는 함수가 아닙니다.비슷한 문제가 발생한 적이 있습니까?도와주시면 감사하겠습니다.
언급URL : https://stackoverflow.com/questions/71117593/jest-unit-test-script-fails-with-typeerror-this-environment-runscript-is-not-a
반응형
'programing' 카테고리의 다른 글
C의 객체 파일이 뭐죠? (0) | 2022.07.16 |
---|---|
물음표와 콜론(?: 3진 연산자)은 objective-c에서 무엇을 의미합니까? (0) | 2022.07.16 |
변수 개수의 인수를 printf/sprintf로 전달하는 방법 (0) | 2022.07.16 |
char*x가 값이 "hello"인 문자열을 가리킬 때 gdb에서 조건부 중단점을 설정하려면 어떻게 해야 합니까? (0) | 2022.07.16 |
Vue.js/Vuex: Getter 호출과 라이프 사이클 생성 후 직접 상태 값에 액세스 (0) | 2022.07.16 |