ReferenceError: 응답이 정의되지 않았습니다.
쇼트 버전:
Vue 컴포넌트의 테스트 케이스를 작성하고 있습니다.vue-test-utils
그리고.jest
.
작성하려고 합니다.Response
테스트 케이스 중 하나에서 오브젝트가 표시되지만 오류가 계속 발생합니다.ReferenceError: Response is not defined
롱 버전
vuex 액션이 joke를 사용하여 디스패치될 때 API 응답을 조롱하려고 합니다.이렇게 Vuex 액션을 만들었습니다.
let fakeAccountList = [
{"id":"abcd","title":"Random Account 1"},
{"id":"pqrs","title":"Random Account 2"}
]
actions = {
getAccounts: jest.fn(()=>{
return new Promise((resolve, reject)=>{
resolve(mockResponse(200,'ok',fakeAccountList))
})
})
}
그getAccounts
action은 계정 목록으로 해결되는 약속을 반환합니다.그mockResponse
함수는 다음과 같습니다.
mockResponse = (status, statusText, response) => {
return new Response(response, {
status: status,
statusText: statusText,
headers: {
'Content-type': 'application/json'
}
});
};
언제mockResponse
호출된 경우 오류가 발생합니다.ReferenceError: Response is not defined
저는 이 매우 오래된 문제를 발견했습니다.https://github.com/facebook/jest/issues/930의 코멘트에 의하면, 수정이 끝난 것 같습니다만, 저는 효과가 없습니다.다음과 같은 추가 라이브러리를 가져오고 싶지 않습니다.isomorphic-fetch
이것만 위해서.
여기 제 것이 있습니다.devDependencies
에package.json
:
"devDependencies": {
"@vue/cli-plugin-babel": "3.0.3",
"@vue/cli-plugin-e2e-cypress": "3.0.3",
"@vue/cli-plugin-eslint": "3.0.3",
"@vue/cli-plugin-unit-jest": "3.0.3",
"@vue/cli-service": "3.0.3",
"@vue/test-utils": "1.0.0-beta.25",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "23.6.0",
"less": "3.0.4",
"less-loader": "4.1.0",
"lodash": "4.17.10",
"node-sass": "4.9.2",
"sass-loader": "7.0.3",
"vue-template-compiler": "2.5.16",
}
어떤 도움이라도 주시면 감사하겠습니다.잘 부탁드립니다
리액트 어플리케이션을 사용하고 있는데, 당신의 모의 파일에 아래 문장을 추가하는 것만으로 문제가 해결되었습니다.이것이 당신이나 다른 사람들에게 도움이 되기를 바랍니다.
import 'isomorphic-fetch'
언급URL : https://stackoverflow.com/questions/52420318/referenceerror-response-is-not-defined
'programing' 카테고리의 다른 글
정의보다 상수를 선호할까요? (0) | 2022.07.26 |
---|---|
Java에 Sorted List가 없는 이유는 무엇입니까? (0) | 2022.07.26 |
Java의 각 루프에서 반복 카운터에 액세스하는 방법이 있습니까? (0) | 2022.07.26 |
Vue.js에서 구성 요소 숨기기 (0) | 2022.07.26 |
Vue.js는 서로 다른 모듈의 $store 데이터를 전달합니다. (0) | 2022.07.26 |