Redux передает / имитирует действия отправки при тестировании компонентов более высокого порядка - PullRequest
0 голосов
/ 02 августа 2020

Пока я пытаюсь протестировать подключенный компонент реакции Redux, я не могу предоставить. Ниже приведен код для моего подключенного компонента реакции:

    MyComponent.jsx
    
    class MyComponent extends React.Component{
    
    componentWillMount (){
    
    }
    
    
    componentDidMount () {
    
    setTimeOut (()=>{
    changeValue('personName' , 'something',someVar)
    
    },2000);
    
    }
    
    }
export default MyComponent

    
    index.jsx
    
    import MyComponent from './MyComponent'
    const mapStateToProps = state => (
    {
    rootState : state 
    info : state.someInfo
    }
    )
    
    const mapDispatchProps = dispatch => bindActionCreators({
    changeValue : change,
    resetValue : reset
    
    },dispatch)
    
    export default compose (connect (mapStateToProps,mapDispatchProps),injector,theme.wizard({}))(
    connect(state => ({
    values : selector (state, 'vehicleName', 'address','personName')
    }))
    )(MyComponent)

MyComponent.Test.js

import configureStore from 'redux-mock-store'
import {shallow, mount} from 'enzyme'
import MyComponent from './MyComponent'
jest.useFakeTimers();
describe('test1', ()=>{
it('test for componentDidMount' , ()=>{
const middlewares = []
const mockStore = configureStore(middlewares)
const initialState = {changeValue : (x,y,z)=> console.log(x)};
  const store = mockStore(initialState);
var component = shallow (<Provider store = {store}><MyComponent /></Provider>);
component.update();
jest.runAllTimers();
})
}

Когда я запускаю это, я получаю ошибка: changeValue не является функцией , Как я могу передать / имитировать функцию changeValue в тесте для устранения этой ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...