Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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
Javascript 用酶测试反应阻力_Javascript_Reactjs_Unit Testing_Jestjs_Enzyme - Fatal编程技术网

Javascript 用酶测试反应阻力

Javascript 用酶测试反应阻力,javascript,reactjs,unit-testing,jestjs,enzyme,Javascript,Reactjs,Unit Testing,Jestjs,Enzyme,我在模拟和测试酶的阻力和阻力方面遇到困难。这是我的代码(我删除了一些句柄函数)。我已经包含了我尝试过的测试代码,但是没有调用handleDragIn函数。我做错了什么 导出默认功能DragAndDrop(道具){ const classes=useStyles(); const[drag,setDrag]=React.useState(false); const dropRef=useRef(null); 常量句柄=函数(e){ e、 预防默认值() e、 停止传播() } 常数handleDr

我在模拟和测试酶的阻力和阻力方面遇到困难。这是我的代码(我删除了一些句柄函数)。我已经包含了我尝试过的测试代码,但是没有调用
handleDragIn
函数。我做错了什么

导出默认功能DragAndDrop(道具){
const classes=useStyles();
const[drag,setDrag]=React.useState(false);
const dropRef=useRef(null);
常量句柄=函数(e){
e、 预防默认值()
e、 停止传播()
}
常数handleDragIn=函数(e){
e、 预防默认值()
e、 停止传播()
牵引计数器++
if(e.dataTransfer.items&&e.dataTransfer.items.length>0){
setDrag(真);
}
}
useffect(()=>{
设div=dropRef.current;
//启动事件处理程序
第5部分:附加列表器(“dragenter”,handleDragIn);
第二部分添加的列表器(“dragleave”,handleDragOut);
第二部分添加的列表器(“dragover”,把手);
div.addEventListener('drop',handleDrop);
返回函数cleanup(){
部门移除通风装置(“排水装置”,手拉金);
第removeEventListener部分(“dragleave”,handleDragOut);
部门removeEventListener('dragover',把手);
div.removeEventListener('drop',handleDrop);
};
});
返回(
{拖动&&
上传
}
)
}
以下是我的测试代码:

import{shall}来自“酶”;
从“React”导入React;
从“/DragAndDrop”导入DragAndDrop;
const findByTestAttr=(包装器,val)=>{
返回wrapper.find(`[data test=“${val}”]`);
}
const mockProps={handleDrop:jest.fn()};
它('允许用户拖动文件',()=>{
常量分量=浅();
const dropRef=findByTestAttr(组件“dropRef”);
dropRef.simulate('dragenter'))
期望(handleDragIn).tohavebeincall();
})

handleDrag
handleDragIn
都是在组件中作为道具传递的函数,因此我不希望调用测试中的模拟函数,除非测试中的组件通过并调用它们。@drewrese抱歉,我忘了更改这部分代码。我试着使用道具,但没有。它不起作用。我已经更新了代码。
handleDrag
handleDragIn
都是在组件中作为道具传递的函数,因此我不希望调用测试中的模拟函数,除非测试中的组件通过并调用它们。@drewerese抱歉,我忘了更改代码的这一部分。我试着使用道具,但没有。它不起作用。我已经更新了代码。