2017-04-26 2 views
1

작동하지 테스트 반응 렌더러 반응-DOM효소/카르마/웹팩/재스민/I는 문서</p> <p>NPM 내가 --save-DEV 효소</p> <p>NPM 내가 --save-DEV 반응 - 테스트 -에 따라 설치 한

(현재 15.5.4 반응 사용) 그리고 http://airbnb.io/enzyme/docs/guides/karma.html

내 테스트 http://airbnb.io/enzyme/docs/guides/webpack.html 전에 효소

를 사용하려고 시도에 실행중인 내 karma.conf 파일 변경

하지만

import React, {Component} from 'react'; 
import PropTypes from 'prop-types'; 
import { connect, Provider } from 'react-redux' 
import ConfigureMockStore from 'redux-mock-store'; 
import { mount } from 'enzyme'; 

즉시 import { mount } from 'enzyme'; 내가 얻을 명중 이러한 수입과 .spec.js을 실행할 때 나는 부하 오류가 발생할 수 (및 다른 부하 실패 훨씬)

ERROR in ./~/enzyme/build/react-compat.js 
Module not found: Error: Cannot resolve module 'react/addons' in D:\development\poc9-unittests\node_modules\enzyme\build 
@ ./~/enzyme/build/react-compat.js 46:16-39 47:46-69 

ERROR in ./~/enzyme/build/react-compat.js 
Module not found: Error: Cannot resolve module 'react/lib/ReactContext' in D:\development\poc9-unittests\node_modules\enzyme\build 
@ ./~/enzyme/build/react-compat.js 48:23-56 

karma.conf

var webpack = require('karma-webpack'); 

module.exports = function (config) { 
    config.set({ 

    singleRun: false, 
    watched: true, 

    frameworks: ['jasmine'], 
    browsers: ['Chrome'], 

    files: [ 
     'tests.webpack.js' 
    ], 

    preprocessors: { 
     'tests.webpack.js': [ 'webpack', 'sourcemap' ] 
    }, 

    reporters: [ 'dots' ], 

    webpack: { 
     devtool: 'inline-source-map', 
     module: { 
     loaders: [ 
      { 
      test: /\.js$/, 
      loader: 'babel-loader', 
      query: { 
        presets: ['airbnb'] 
      } 
      } 
     ] 
     } 
    }, 

    externals: { 
    'react/addons': true, 
    'react/lib/ExecutionEnvironment': true, 
     'react/lib/ReactContext': true 
    }, 

    browserNoActivityTimeout: 300000, 

    plugins: [ 
     'karma-webpack', 
     'karma-jasmine', 
     'karma-sourcemap-loader', 
     'karma-chrome-launcher' 
    ], 

    webpackServer: { 
     noInfo: true 
    }, 


    }); 
}; 

어떤 아이디어가?

+0

당신이 반응-애드온 테스트-utils를, 효소에 대한 종속성이 설치되어 있나요? –

+0

예 "react-addons-test-utils": 종속성 및 devDependencies 모두 "^ 15.4.0" – Rory

+0

우리는 무슨 일이 일어나는지 볼 수 있도록 github repo를 설정할 수 있습니까? 구성 파일을보고 문제를 찾는 것은 어렵습니다. –

답변

2

내 컴퓨터에서 프로젝트를 실행할 수 없지만 이전에 비슷한 문제가 있었던 것을 기억합니다. 그것을 해결되는지 (웹팩 설정 내에서) 당신의 카르마 설정에 아래의 추가 시도하고 참조 : -

webpack: { 
     devtool: 'inline-source-map', 
     module: { 
     loaders: [ 
      { 
      test: /\.js$/, 
      loader: 'babel-loader', 
      query: { 
        presets: ['airbnb'] 
      } 
      } 
     ] 
     }, 

     externals: { 
     'jsdom': 'window', 
     'cheerio': 'window', 
     'react/lib/ExecutionEnvironment': true, 
     'react/addons': true, 
     'react/lib/ReactContext': 'window' 
     } 
    } 
+0

아니, 같은 오류가 발생했습니다. 나는 '마이크로'프로젝트로 시작하여 휴식 할 때까지 물건을 추가 할 수 있다고 생각합니다. – Rory

+0

추가 한 곳을 표시하도록 저장소를 업데이트 할 수 있습니까? –

+0

죄송합니다, 카르마 설정에서 '외관'추가 변경으로 저장소를 업데이트 할 수 있습니다. –