Jest + Enzymeのスナップショットテストを使用しようとするとエラーが発生します:Invalid Chai property: toMatchSnapshot
また、私はそうのようにレンダリング冗談のでこれを試してみた無効なChaiプロパティ:toMatchSnapshot - React.js Jest testing
import React from 'react';
import ReactDOM from 'react-dom';
import ConnectedApp, { App } from './App';
import { ConnectedRouter } from 'react-router-redux';
import { Provider } from 'react-redux';
import { expect } from 'chai';
import { mount, shallow } from 'enzyme';
import createHistory from 'history/createMemoryHistory'
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import toJson from 'enzyme-to-json';
describe('App tests',() => {
const middlewares = [thunk];
const mockStore = configureMockStore(middlewares);
let store, container, history, wrapper;
const initialState = {
output: true
}
beforeEach(() => {
store = mockStore(initialState);
history = createHistory();
wrapper = mount(
<Provider store={store}>
<ConnectedRouter history={history}>
<ConnectedApp />
</ConnectedRouter>
</Provider>
)
});
it('+++capturing Snapshot of App',() => {
expect(toJson(wrapper)).toMatchSnapshot();
});
})
:
import renderer from 'react-test-renderer';
it('renders correctly',() => {
var component = <Provider store={store}>
<ConnectedRouter history={history}>
<ConnectedApp />
</ConnectedRouter>
</Provider>
const tree = renderer
.create(component)
.toJSON();
expect(tree).toMatchSnapshot();
});
私は私の
16.2へのバージョンに反応して、私は酵素3で
enzyme-to-json
ライブラリを使用するコードは以下の通りです更新しました
しかし、私はまだInvalid Chai property: toMatchSnapshot
エラーが発生します。誰でも何が起こっているか知っていますか?
それは私が起こっていたと思ったことです。しかし、私はちょうど通常のcreate-react-app設定を使用しました.Jestが完全に正しく設定されて出荷されるべきですか?チャイがどこに/なぜ写真に飛び込むのかわからない。あなたはチャイを無効にする方法を知っていますか? –
6行目で 'expect'関数を' chai'からインポートしています。あなたはおそらくそれを削除することができ、それはグローバル '期待'を使用します – Sanborn
ああたわごと!良い点を出して... –