私はwebpack-provide-pluginを使用して反応をインポートしています。webpack提供Jest with plugin
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
を取得
もちろん、反応がインポートされていないため明白に。明示的なインポートと提供プラグインを放棄する以外の方法はありますか?あなたが提供するWebPACKを使用してこの変数を証明しているよう http://facebook.github.io/jest/docs/configuration.html#setupfiles-array
方法が見つかりませんでした。しかし、私は、Webpack providePlugin設定を削除する方が良いと考えていました。インポートはビルド/バンドルの設定を行うことを推奨します。 –
ここでも同じ問題ですが、私はそれが重要だと思います – VanDavv
モックは助けてくれますか?私はprovidePluginを削除しましたので、この問題を解消しました。 –