2017-01-25 6 views
9

jest를 사용하여 reactJS 구성 요소를 테스트하고 있습니다. 내 reactJS 구성 요소에서 , 나는 JQuery와 UI를 사용해야합니다, 그래서 부품이 추가 :reactjs jest jQuery가 정의되지 않았습니다.

var jQuery = require('jquery'); 
require('jquery-ui/ui/core'); 
require('jquery-ui/ui/draggable'); 
require('jquery-ui/ui/resizable'); 

그리고 그것은 괜찮 았는데. 그러나, 당신은 앱에서 jQuery를 사용하는 경우

Test suite failed to run 
ReferenceError: jQuery is not defined 

사람이이 문제를 충족, 지금은 테스트를 수행하기 위해 농담을 이용해야하지만 내가 testutils에 구성 요소를로드 할 때 나는이 문제를 즉시 충족?

감사합니다.

+0

가능한 복제본입니다. http://stackoverflow.com/questions/41800122/uncaught-referenceerror-jquery-is-not-defined-with-create-react-app/ –

+0

당신은'window. $ = require (' jquery '); – Tholle

답변

18

글로벌 개체에 jQuery 종속성을 추가 할 수 있습니다. 테스트 env.js에 대한 내용이

import $ from 'jquery'; global.$ = global.jQuery = $;

처럼 보이는 곳이 "setupFiles": ["test-env.js"]

  • 같은 setupFiles를 추가 농담 키 아래에, 당신의 package.json에서 다음

    1. 를 수행

    test-env의 경로가 rootDir에서 올바른지 확인하십시오. rootDir은 Jest에서 사용할 수 있습니다.

  • +0

    이 답변은 다른 어떤 것보다 나에게 더 효과적이었습니다. 다음과 같이 ROOTDIR에 바로 메모, 그것은 사용할 수 있습니다 "농담": { ... "setupFiles": [ "" /test-env.js " 내 농담 설정은 folowing처럼 보였다 /test-env.js "] } –

    관련 문제