2017-02-02 7 views
0

여기 내 테스트 파일가져 오기는 절대 경로와 구성 요소를 반응

// /imports/components/main.test.js 
import React from 'react' 
import { shallow, mount } from 'enzyme' 
import Main from './main' 
import TextInput from "/imports/ui/textInput" 
... 

하고 main.js는

// /imports/components/main.js 
import { action1 } from "/imports/actions/myAction" 

을 가지고 있지만 내가 테스트를 실행할 때 그것은

말, 오류가 발생합니다 Cannot find module '/imports/actions/myAction' from 'main.js'

내가 import './main'으로 의견을 말하면, T extInput. node_modules에 모듈을 가져 오는 데 문제가 없습니다.

프로젝트 디렉토리의 절대 경로 (예 : import Foo from /imports/...)를 사용하여 구성 요소를 가져 오도록 Jest 또는 webpack에 지시하려면 어떻게해야합니까?

+0

테스트 파일의 동일한 레벨에 imports라는 디렉토리가있는 경우 다음과 같이 점을 찍어야합니다. ** import TextInput from "./imports/ui/textInput"** – Hosar

+0

죄송합니다. 디렉토리 구조를 놓쳤습니다. 기본적으로/imports 인 구성 요소와 테스트 파일의 위치 경로를 추가했습니다. – spondbob

+0

당신은 단순히 main.test.js에서 "../ui/textInput"에서'import TextInput,'../actions/myAction "에서'import {action1} '과 같이 import 할 수 있습니다. 절대 경로로 가져 오려면 webpack.config에서 별칭을 지정하고 imports/actions/myAction에서'import {action1} '과 같이 가져와야합니다. – Vikramaditya

답변

1

내 파일 구조는 귀하와 동일한 패턴을 따릅니다. Jest에게 /으로 시작하는 수입품을 사용하도록 가르치기 위해, 나는 babel-plugin-module-resolver과 그것의 편리한 root 옵션을 사용한다. 농담에 대한 나의 .babelrc은 다음과 같습니다

{ 
    "presets": ["es2015", "meteor"], 
    "plugins": [ 
    "transform-class-properties", 
    "transform-react-constant-elements", 
    "transform-react-inline-elements", 
    "transform-react-remove-prop-types", 
     ["module-resolver", { 
     "root": ["../"], 
     "alias": { 
     "react-router-dom": "react-router-dom/umd/react-router-dom.min.js", 
     "redux": "redux/dist/redux.min.js", 
     "react-redux": "react-redux/dist/react-redux.min.js" 
     } 
    }] 
    ] 
} 

내가 루트 수입을 사용자 정의 유성을 사용하고 있듯이, 나는 나 특정을 할 수 있도록 내 저장소의 루트에 .jest 디렉토리에 내 농담 사용 및 구성을 숨기기 .babelrc 유성 충돌과 충돌하지 않아야합니다.

+0

이봐, 유망 해 보인다. 나는 며칠 후 가야하고 여기에 업데이 트를 줄 것이다. 의견을 보내 주셔서 감사합니다! – spondbob

+0

늦은 업데이트에 대해 죄송합니다. 그러나이 솔루션은 훌륭하게 작동합니다! 해석기 모듈을 설치하고 루트를 설정 했으므로 이제'import .. from/imports/foo'를 사용할 수 있습니다. 감사. – spondbob

관련 문제