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抱歉,我忘了更改代码的这一部分。我试着使用道具,但没有。它不起作用。我已经更新了代码。