0

我想从 redux 商店模拟状态并使用 jest 测试它们

import React from 'react';
import { mount, shallow } from 'enzyme';
import toJson from 'enzyme-to-json';

import{ users, question,questions } from '../utils/_DATA';
import '../setupTests';

import { LeaderBoard } from '../containers/LeaderBoard';

import configureStore from 'redux-mock-store';
import renderer from 'react-test-renderer';
import { Provider } from 'react-redux';

const mockStore = configureStore([]);


const ComponentTest =(component) =>  expect(toJson(component)).toMatchSnapshot();
describe('Containers tests', () => {
    let store;
    let MyComponent;
    beforeEach(() =>{
       
        store = mockStore({
            users, 
            signUser:'tylermcginnis',
            questions
        });
        store.dispatch = jest.fn();
        MyComponent = renderer.create(
            <Provider store={store}>
                <LeaderBoard />
            </Provider>
        );
    });
    it('should render leaderboard without error', () => {
        
        expect(MyComponent.toJson()).toMatchSnapshot();
    })

写完后jest --watch,我发现这个错误表明状态数据无法传递给组件

TypeError: Cannot convert undefined or null to object
        at Function.values (<anonymous>)

The above error occurred in the <LeaderBoard> component:

LeaderBoard组件可能会从存储中检索传递的数据

4

0 回答 0