虚偽のレンダリングは、モックされたストアでreduxコンポーネントをレンダリングしているときに予期しない動作をします。酵素浅いレンダリングコンポーネントのノードを1つだけレンダリング
私はこのようになります簡単なテストがあります。
このうち期待印刷物としてclass Test extends React.Component {
constructor(props) {
super(props);
}
render() {
return(
<div className="here"/>
)
}
}
export default Test;
:ただし
<div className="here" />
テストコンポーネントがどのように見える
import React from 'react';
import { shallow } from 'enzyme';
import { createMockStore } from 'redux-test-utils';
import Test from './Test'
it('should render ',() => {
const testState = {
app: {
bar: ['a', 'b', 'c']
}
};
const store = createMockStore(testState)
const context = {
store,
};
const shallowComponent = shallow(<Test items={[]}/>, {context});
console.log(shallowComponent.debug());
}
を私のコンポーネントはreduxコンポーネントです:
class Test extends React.Component {
constructor(props) {
super(props);
}
render() {
return(
<div className="here"/>
)
}
}
const mapStateToProps = state => {
return {
barData: state.app.bar
}
}
export default connect(
mapStateToProps
)(Test)
は、その後私は、コンソールで取得することはこれです:
<BarSeriesListTest items={{...}} barData={{...}} dispatch={[Function]} />
はなぜこの違いはありますか?私のコンポーネントは、私のコンポーネントのreduxバージョンで<div className="here"/>
が埋め込まれていることをテストするには?
これは、https:// githubに役立ちます。co.jp/reactjs/redux/issues/1534 下にスクロールすると、+が多いコメントが表示されます – Nicholas