2016-09-14 58 views
5

我正在使用webpack-provide-plugin導入反應。Jest with webpack提供插件

new webpack.ProvidePlugin({ 
     "React": "react", 
}), 

// text.jsx

let text = (props) => (
    <div> 
    <p class="text">this.props.text</p> 
    </div> 
) 

export default text 

//text.test.js

import React from 'react'; 
import { shallow } from 'enzyme'; 
import text from 'text'; 

it('Renders text',() => { 
    const wrapper = shallow(<text/>); 
    expect(wrapper.hasClass("text")).toEqual(true); 
}); 

但在運行反應組件測試用開玩笑,我得到的錯誤

ReferenceError: React is not defined 

當然,因爲反應沒有進口plicitly。除了顯式導入和放棄提供插件之外,有沒有辦法解決這個問題?

+0

沒有找到通過它的方法。但事後看來,我認爲最好移除webpack的providePlugin配置。由於導入應該更好地留給編碼,然後建立/捆綁配置。 –

+0

同樣的問題在這裏,我認爲這很重要,但 – VanDavv

+0

模擬幫助嗎?我刪除了providePlugin,所以擺脫了這個問題 –

回答

0

刪除此行,你正在使用的WebPack提供證明這個變量插入;

導入從「反應」中反應;