2016-12-25 5 views
10

지구의 테스트 코드에서 전역을 제거하고 싶습니다. 특히jest를 가져 오는 방법은 무엇입니까?

describe('Welcome (Snapshot)',() => { 
    it('Welcome renders hello world',() => { 
    ... 
    }); 
}); 

describe, itexpect 그래서 나는

import {describe,it} from 'jest'; 

import jest from 'jest'; 

jest.describe(... 
    jest.it(... 

및 다른 유사

..

그러나 운을 추가했습니다.

어떻게 작동시켜야합니까? 지금은 더 이상 전역 내 린터를 구성 할 필요가 없습니다 ..

let { describe, it } = global; 

완벽하지,하지만 한 걸음 더 가까이 : 나는 농담 노드에서 실행되고 실현 후

답변

7

는, 내가이 작업을 수행 할 수 깨달았다.

+0

당신이 사용하는 어떤 린터? ESLint는 Jest 환경과 함께 제공됩니다. – Scimonster

+0

@Scimonster standard ..하지만! 나는 내가 "환경"에 대한 linter 작업을 정의 할 것을 요구하는 내 linter를위한 그런 jest 환경을 설정하고 싶지 않다라고 생각한다. –

+0

이것은 당신의 테스트에서 플로우 또는 다른 정적 분석 툴을 사용하는 경우에도 유용하다. 파일 –

7

이 가장 간단한 솔루션과 같이, eslint에 env 설정에 jest: true를 추가 :

"env": { 
    "browser": true, 
    "node": true, 
    "jasmine": true, 
    "jest": true, 
    "es6": true 
}, 
+1

참고로 여기에 [ESLint 환경을 구성하는 모든 방법] (https://eslint.org/docs/user-guide/configuring#specifying-environments) (Jest 또는 다른 상황의 경우) –

관련 문제