1
私はこのコンテナmapStateToPropsが正しい小道具にマップされないのはなぜですか?
import { connect } from 'react-redux'
import { createType, getTypes } from '../modules/type'
import Type from '../components/Type'
const mapDispatchToProps = {
createType,
getTypes
}
const mapStateToProps = state => ({
types: state.type.types
})
export default connect(mapStateToProps, mapDispatchToProps)(Type)
を持っていると私はenzyme
を使用してそれをテストしたいと思います。 wrapper.find(TypeContainer).props()
が空であるため、それを行うには、私はこのテスト
import React from 'react'
import { Provider } from 'react-redux'
import { mount } from 'enzyme'
import TypeContainer from 'routes/Type/containers/TypeContainer'
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
const mockStore = configureMockStore([ thunk ]);
const mockStoreInitialized = mockStore({
type: {
types: [
{id: 1, name: 'type 1'}
]
}
});
describe.only('(Route) Type',() => {
it('should get container',() => {
const wrapper = mount(
<Provider store={mockStoreInitialized}>
<TypeContainer />
</Provider>
)
expect(wrapper.find(TypeContainer).prop('types')).to.deep.equal([{id: 1, name: 'type 1'}])
})
})
テストは(アサーション・レベルで)失敗しているを使用しています。なぜ私は見つけることができません。
私がカバレッジレポートを確認すると、私のテストはmapStateToProps
関数に渡されました。
私は何かを忘れましたか?
ありがとうございます、あなたはまったく正しいです。このようにタイプをインポートした場合、 'routes/Type/components/Type''からインポートタイプを取得し、アサーションを 'expect(wrapper.find(Type).prop(' types '))に変更します。to.deep.equal([ ]) 'それは働いている – ThomasThiebaud