首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redux容器单元测试-无法访问包装组件的属性

Redux容器单元测试-无法访问包装组件的属性
EN

Stack Overflow用户
提问于 2019-01-10 01:12:10
回答 1查看 746关注 0票数 1

在React v6升级之后,我现有的组件测试用例失败了。

下面是我的组件容器代码TodoContainer.jsx:

代码语言:javascript
复制
import { connect } from 'react-redux';

import Todo from './Todo';
import { initialLoadExecuted } from '../../actions/LoadActions';

const mapStateToProps = state => ({
  isCollapsed: true,
  pinnedTiles: false,
});

const mapDispatchToProps = dispatch => ({
  dispatchInitialLoadExecuted: (tiles) => {
    dispatch(initialLoadExecuted(tiles));
  },
});

export default connect(mapStateToProps, mapDispatchToProps)(Todo);

下面是我的测试代码TodoContainer.test.jsx:

代码语言:javascript
复制
    import React from 'react';
    import configureStore from 'redux-mock-store';
    import {Provider} from 'react-redux';
    import TodoContainer from '../../../../src/todo-component/components/Todo/TodoContainer';
    import { initialLoadExecuted } from '../../../../src/todo-component/actions/LoadActions';

    const mockStore = configureStore();
    let store;

    describe('Todo Container', () => {
      beforeEach(() => {
        store = mockStore({
        });

      it('maps state props correctly', () => {
        const wrapper = shallow(<TodoContainer store={store}/>);
        wrapper.prop('dispatchInitialLoadExecuted')('Test String);
        // Expect statements
      });
    });

我得到的错误是:

不变冲突:在props中传递redux store已被移除,并且不做任何事情。您还可以传递{context : MyContext}选项进行连接。

有没有一种方法可以在访问属性时通过提供者传递store,同样的方式?

EN

回答 1

Stack Overflow用户

发布于 2019-01-14 01:57:44

react-redux v6.0.0现在似乎支持添加到React v16.4.0的新上下文API (也需要react now的版本)。

通过安装react-redux@5.1.1和react@16.3.0 (在他们引入Context API之前),我能够解决这个问题并保持mockStore模式。

进一步测试:只要我使用react-redux@5.1.1,我就可以使用react@16.7.0

在react-redux github issues标签页上有一个正在进行的讨论:https://github.com/reduxjs/react-redux/issues/1161

这不是一个长期的解决方案,因为我会被困在这个版本的React上,但它确实通过了测试,我能够获得100%的代码覆盖率。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54115218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档