반응형
Jest를 여러 프리셋으로 동시에 사용할 수 있습니까?
jsdom과 react-native와 같이 여러 사전 설정과 함께 Jest를 사용할 수 있습니까?
웹 및 React Native 환경에서 모두 작동하는 React 컴포넌트를 테스트하고 싶습니다.문제는 구성 요소가 React Native 라이브러리 또는 일부 문서의 메서드를 사용할 수 있다는 것입니다.
몇 가지 테스트를 실행하면 농담의 답변이 나옵니다.
'react-native-implementation.js'에서 'NetInfo' 모듈을 찾을 수 없습니다.
추가하려고 하면
"jest": {
"preset": "react-native"
}
패키지화 합니다.제이슨, 알았어:
ReferenceError: 창이 정의되지 않았습니다.
프리셋은 단순한 Javascript 객체이기 때문에 많은 경우 단순히 Marge할 수 있습니다.예를 들어, 이렇게 하면ts-jest
그리고.jest-puppeteer
동시에:
const merge = require('merge')
const ts_preset = require('ts-jest/jest-preset')
const puppeteer_preset = require('jest-puppeteer/jest-preset')
module.exports = merge.recursive(ts_preset, puppeteer_preset, {
globals: {
test_url: `http://${process.env.HOST || '127.0.0.1'}:${process.env.PORT || 3000}`,
},
})
이와 같이 '머지'할 수 없는 특정 옵션이 있는 경우 이러한 사례를 수동으로 처리하십시오.
다음과 같은 선에 따라 확산 연산자를 사용하여 이 작업을 수행할 수 있습니다.
const tsPreset = require('ts-jest/jest-preset')
const puppeteerPreset = require('jest-puppeteer/jest-preset')
module.exports = {
...tsPreset,
...puppeteerPreset,
globals: {
test_url: `http://${process.env.HOST||'127.0.0.1'}:${process.env.PORT||3000}`,
},
}
1개의 프리셋과 typeScript를 원하는 사용자용
const { defaults: tsjPreset } = require('ts-jest/presets')
module.exports = merge.recursive(ts_preset, puppeteer_preset, {
preset: 'Your_Preset',
transform: tsjPreset.transform,
},
})
언급URL : https://stackoverflow.com/questions/51002460/is-it-possible-to-use-jest-with-multiple-presets-at-the-same-time
반응형
'source' 카테고리의 다른 글
워드프레스로 생성된 암호를 해독하는 방법 (0) | 2023.03.08 |
---|---|
SpringBoot의 속성 파일, YAML 파일 및 명령줄 인수 중 우선 순위 (0) | 2023.03.08 |
대용량 JSON 파일을 포맷하는 가장 좋은 방법?(30 MB까지) (0) | 2023.03.08 |
MVC 컨트롤러: HTTP 본문에서 JSON 개체를 가져오시겠습니까? (0) | 2023.03.08 |
create-module-app을 사용하는 동안 public, src 및 scripts 폴더가 생성되지 않음 (0) | 2023.03.08 |