JEST가 코드를 실행하고 있는지 여부를 확인하는 방법은 무엇입니까?
저는 저의 반응 네이티브 프로젝트에 대한 JS 테스트를 만들고 있습니다.저는 특히 반응 네이티브를 위해 파이어베이스를 사용하고 있는데, 만약 JS가 제 클래스의 코드를 실행하고 있다면 파이어베이스 인스턴스를 모의 파이어베이스 인스턴스로 바꾸고 싶습니다.
예를 들어, 저는 아래와 같은 수업 설정이 있습니다.
import firebase from 'react-native-firebase';
class Database() {
/// use the firebase instance
}
just가 실행 환경인지 확인한 후 수입 라인을 적절한 모의 수업으로 교체하고 싶습니다.
jest는 JEST_WORKER_ID라는 환경 변수를 설정하므로 이 변수가 설정되어 있는지 확인합니다.
function areWeTestingWithJest() {
return process.env.JEST_WORKER_ID !== undefined;
}
또한 NODE_ENV가 설정되지 않은 경우 just CLI에서 값을 'test'로 설정합니다.다른 방법으로 확인할 수도 있습니다.
나는 보통.NODE_ENV=development
내 껍데기에 전세계적으로 설정되어 있습니다.이것은 나에게 도움이 됩니다.
typeof jest !== 'undefined'
(참고:global.jest
그리고.'jest' in global
작동하지 않습니다. 이것은 글로벌 변수가 아닌 것처럼 모든 모듈에서 사용할 수 있는 값일 뿐입니다.require
또는__filename
)
다음에 매개 변수를 추가할 수 있습니다.global
예를 들어 global.isJest가 정의된 경우 프런트 엔드에서 확인합니다.
저에게 가장 좋은 방법은 두 가지를 확인하는 것입니다.0
그리고.undefined
:
[0, undefined].includes(process.env.JEST_WORKER_ID)
https://stackoverflow.com/a/52231746/3012785 을 기반으로 합니다.
언급URL : https://stackoverflow.com/questions/50940640/how-to-determine-if-jest-is-running-the-code-or-not
'programing' 카테고리의 다른 글
excel의 vba에서 유니코드 문자열 (0) | 2023.06.07 |
---|---|
Visual Studio 2008에서 JavaScript/jQuery Intellisense를 작동하려면 어떻게 해야 합니까? (0) | 2023.06.07 |
TypeScript 주의를 제거하는 방법: 'length' 속성이 '{}' 유형에 없습니다. (0) | 2023.06.07 |
R을 사용하여 지정된 확장자를 가진 모든 파일 나열 (0) | 2023.06.07 |
.xib 파일과 .storyboard의 차이점은 무엇입니까? (0) | 2023.06.02 |