Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 酵素:在匿名函数中查找()formik组件_Reactjs_Unit Testing_Enzyme_Formik - Fatal编程技术网

Reactjs 酵素:在匿名函数中查找()formik组件

Reactjs 酵素:在匿名函数中查找()formik组件,reactjs,unit-testing,enzyme,formik,Reactjs,Unit Testing,Enzyme,Formik,我用酶来测试反应成分。 我有一个具有以下结构的formik表单: Form.js 导出类表单扩展组件{ 建造师(道具){ //... } render(){ { //... //... }} onReset={(值,formProps)=>{ //... }} 验证模式={ //... }> { (道具)=>{ 常量{values,errors,handleSubmit}=props; 返回( 提交 ) } } } } 如何使用enzyme的find()方法获取这些输入文件 我可以获取主组件,

我用酶来测试反应成分。 我有一个具有以下结构的formik表单:

Form.js

导出类表单扩展组件{
建造师(道具){
//...
}
render(){
{
//...
//...
}}
onReset={(值,formProps)=>{
//...
}}
验证模式={
//...
}>
{
(道具)=>{
常量{values,errors,handleSubmit}=props;
返回(
提交
)
}
}
}
}
如何使用enzyme的find()方法获取这些输入文件

我可以获取主
组件,但无法获取匿名函数中的输入字段。欢迎提供任何帮助。

您可以使用展开嵌套的
表单

shallow()
.查找(Formik)
.潜水
您也可以直接使用

shallow()
.查找(Formik)
.prop('onSubmit')(args)
export class Form extends Component {
    constructor(props) {
        //...
    }

    render() {
        <Formik
            inititalValues={{
                //...
            }}
            onSubmit={(values, { resetForm }) => {
                //...
                //...
            }}
            onReset = {(values, formProps) => {
                //...
            }}
            validationSchema={
                //...
            }>

            {
                (props) => {
                    const {values, errors, handleSubmit} = props;
                    return (
                        <form onSubmit={handleSubmit}>
                            <input type='text' name='email' />
                            <input type='password' name='password' />
                            <button type='submit'>Submit</button>
                        </form>
                    )
                }
            }

        </Formik>
    }
}