Пока я пытаюсь протестировать подключенный компонент реакции 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 в тесте для устранения этой ошибки.