首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Redux容器TestUnit

React Redux容器TestUnit
EN

Stack Overflow用户
提问于 2020-03-26 12:23:11
回答 1查看 35关注 0票数 0

对于Redux,我是新手,我试图为容器创建一个TestUnit,该容器连接到呈现表的对话框。

在集装箱里我有:

  • 是一个mapStateToProps常量,它用表返回对话框的属性。
  • 是一个mapDispatchToProps常量,它将一个函数映射到一个动作
  • ,一个连接函数,它将上面的两个道具绑定到Dialog.

集装箱:

代码语言:javascript
复制
 import { ApplicationState } from '../ApplicationState';
 import { connect } from 'react-redux';
 import TabelDialog, { TabelDialogProps } from '../components/dialogs/TabelDialog';
 import { acceptDisplay } from '../actions/displayActions';

 const mapStateToProps=(
    state: ApplicationState,
    { open, onClose }: TabelDialogProps)
    => {
     return {
       open,
       onClose,
       tableData: [
         {
            manufacturer: 'Samsung',
            displayType: 'OLED',
         },
         {
            manufacturer: 'LG',
            displayType: 'OLED',
         }
       ]
    }         
 };

 const mapDispatchToProps = {
    onAccept: acceptDisplay
 };

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

测试尚未完成,需要进行调整:

代码语言:javascript
复制
const createMockStore = () => {
    const store = {
      getState: jest.fn(() => ({})),
      dispatch: jest.fn(),
      data: jest.fn()
   }

 const next = jest.fn()
 const invoke = action => thunk(store)(next)(action)

 return {store, next, invoke }


}

describe('Container test', () => {
     it('should dispatch open', () => {
       const store = createMockStore();
       const wrapper = shallow(
             <TabelDialog 
                 open = {true}
                 data = {undefined}
                 onClose = {undefined}
                 onAccept = {undefined}
            />
        );

      expect(store).toHaveBeenCalled():
  });
})

我想打开,onClose和数据。我在正确的道路上吗?

安迪

EN

回答 1

Stack Overflow用户

发布于 2020-03-26 14:10:40

不确定这是否会解决你的问题,但可能会给你一些进展。似乎您还必须为组件提供存储。

代码语言:javascript
复制
const store = {...}

const wrapper = shallow(<TabelDialog store={store}  ... />);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60867184

复制
相关文章

相似问题

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