2017-04-26 99 views
1

我已經安裝按照文檔酶/噶/的WebPack /茉莉花/ REACT測試不工作

NPM我--save-dev的酶

NPM我--save-DEV反應-測試 - 渲染反應-DOM(目前使用陣營15.5.4)

改變了我karma.conf文件http://airbnb.io/enzyme/docs/guides/karma.htmlhttp://airbnb.io/enzyme/docs/guides/webpack.html

我的測試,試圖用酶

之前運行

,但我得到的負載錯誤,當我

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

你有沒有安裝反應,插件,測試工具,其中對酶的依賴? –

+0

是的「react-addons-test-utils」:「^ 15.4.0」在依賴和devDependencies – Rory

+0

你可以設置一個github回購,以便我們可以看到發生了什麼。僅僅通過查看配置文件很難找到問題。 –

回答

2

無法在我的機器上運行您的項目,但我記得過去有類似的問題。嘗試添加下面的業力的配置(內部的WebPack配置),並看看是否能夠解決它: -

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

對不起,我的意思是你可以通過在karma配置中添加'外部'的更改來更新回購。 –