2016-09-14 60 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提供证明这个变量插入;

导入从“反应”中反应;