Javascript TypeError:当我尝试使用JEST测试方法时,dispatch不是一个函数
我有一个方法,它接收一些值作为参数,然后发送一个动作。问题是,当我使用我的组件来测试这个方法时,我有一个错误,说分派不是一个函数 测试: 有人能帮我吗?我不知道我做错了什么。Javascript TypeError:当我尝试使用JEST测试方法时,dispatch不是一个函数,javascript,reactjs,unit-testing,jestjs,enzyme,Javascript,Reactjs,Unit Testing,Jestjs,Enzyme,我有一个方法,它接收一些值作为参数,然后发送一个动作。问题是,当我使用我的组件来测试这个方法时,我有一个错误,说分派不是一个函数 测试: 有人能帮我吗?我不知道我做错了什么。 提前谢谢 好的,现在我有这个测试: it('works', () => { const values = { username: 'marc', name: 'marc', email: 'marc@hotmail.com', entrySign: 'archivoSign', signCerti
提前谢谢 好的,现在我有这个测试:
it('works', () => {
const values = {
username: 'marc',
name: 'marc',
email: 'marc@hotmail.com',
entrySign: 'archivoSign',
signCertificateFile: 'file',
signCertificate: 'text',
entryAuth: 'notArchivoAuth',
authCertificateFile: 'file',
authCertificate: 'text'
}
const mapDispatchToProps = (dispatch) => ({
submit
});
const mockedStore = createMockStore();
const WizardFormWrapper = connect(reduxFormReducer, mapDispatchToProps)(WizardForm);
const wrapper = shallowWithStore(<WizardFormWrapper />, mockedStore);
wrapper.props().submit();
});
})
it('works',()=>{
常量值={
用户名:'marc',
姓名:'马克',
电邮:'marc@hotmail.com',
入口标志:“拱门标志”,
signCertificateFile:'文件',
签名证书:“文本”,
entryAuth:'notArchivoAuth',
authCertificateFile:'文件',
authCertificate:'文本'
}
const mapDispatchToProps=(调度)=>({
提交
});
const mockedStore=createmockedstore();
const WizardFormWrapper=connect(reduxFormReducer,mapDispatchToProps)(WizardForm);
const wrapper=shallowWithStore(,mockedStore);
wrapper.props().submit();
});
})
现在我遇到的问题是:ReferenceError:submit没有定义
有什么建议@RIYAJ KHAN?好的,现在我有这个测试:
it('works', () => {
const values = {
username: 'marc',
name: 'marc',
email: 'marc@hotmail.com',
entrySign: 'archivoSign',
signCertificateFile: 'file',
signCertificate: 'text',
entryAuth: 'notArchivoAuth',
authCertificateFile: 'file',
authCertificate: 'text'
}
const mapDispatchToProps = (dispatch) => ({
submit
});
const mockedStore = createMockStore();
const WizardFormWrapper = connect(reduxFormReducer, mapDispatchToProps)(WizardForm);
const wrapper = shallowWithStore(<WizardFormWrapper />, mockedStore);
wrapper.props().submit();
});
})
it('works',()=>{
常量值={
用户名:'marc',
姓名:'马克',
电邮:'marc@hotmail.com',
入口标志:“拱门标志”,
signCertificateFile:'文件',
签名证书:“文本”,
entryAuth:'notArchivoAuth',
authCertificateFile:'文件',
authCertificate:'文本'
}
const mapDispatchToProps=(调度)=>({
提交
});
const mockedStore=createmockedstore();
const WizardFormWrapper=connect(reduxFormReducer,mapDispatchToProps)(WizardForm);
const wrapper=shallowWithStore(,mockedStore);
wrapper.props().submit();
});
})
现在我遇到的问题是:ReferenceError:submit没有定义
有什么建议@RIYAJ KHAN?谢谢!但我的组件与redux连接。问题是,如果使用默认组件,则无法访问包装组件内的方法。这就是为什么我必须在没有redux连接的情况下导出组件。您可以在这里查看:导出默认连接()(WizardForm);但是,如果我在测试中使用此组件,我将无法访问submit方法…您能否共享您模拟redux connetivitySorry但我不明白您的意思的脚本。。我有点lost@marc1161如果您的组件已连接,则应在
submit
中提供dispatch。请共享您如何连接WizardForm
组件的代码确定:我正在文件末尾执行此操作:导出默认连接()(WizardForm);谢谢但我的组件与redux连接。问题是,如果使用默认组件,则无法访问包装组件内的方法。这就是为什么我必须在没有redux连接的情况下导出组件。您可以在这里查看:导出默认连接()(WizardForm);但是,如果我在测试中使用此组件,我将无法访问submit方法…您能否共享您模拟redux connetivitySorry但我不明白您的意思的脚本。。我有点lost@marc1161如果您的组件已连接,则应在submit
中提供dispatch。请共享您如何连接WizardForm
组件的代码确定:我正在文件末尾执行此操作:导出默认连接()(WizardForm);
it('works', () => {
const values = {
username: 'marc',
name: 'marc',
email: 'marc@hotmail.com',
entrySign: 'archivoSign',
signCertificateFile: 'file',
signCertificate: 'text',
entryAuth: 'notArchivoAuth',
authCertificateFile: 'file',
authCertificate: 'text'
}
const mapDispatchToProps = (dispatch) => ({
submit
});
const mockedStore = createMockStore();
const WizardFormWrapper = connect(reduxFormReducer, mapDispatchToProps)(WizardForm);
const wrapper = shallowWithStore(<WizardFormWrapper />, mockedStore);
wrapper.props().submit();
});
})