Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 Jest如何测试在A函数中调用的B函数?_Javascript_Reactjs_Jestjs - Fatal编程技术网

Javascript Jest如何测试在A函数中调用的B函数?

Javascript Jest如何测试在A函数中调用的B函数?,javascript,reactjs,jestjs,Javascript,Reactjs,Jestjs,例如,请举一个例子: //ListItem.tsx 界面道具{ onTouchStart:(e:React.TouchEvent)=>void; } 常量列表项:React.FC=(道具)=>{ const handleTouchStart=(e:React.TouchEvent)=>{ //调用组件内部的传入函数 道具。开始(e); //执行其他一些操作     } 返回 } 导出默认列表项; //ListItem.test.tsx 从'rax'导入{createElement}; 从“ra

例如,请举一个例子:

//ListItem.tsx
界面道具{
onTouchStart:(e:React.TouchEvent)=>void;
}
常量列表项:React.FC=(道具)=>{
const handleTouchStart=(e:React.TouchEvent)=>{
//调用组件内部的传入函数
道具。开始(e);
//执行其他一些操作
    }
返回
}
导出默认列表项;
//ListItem.test.tsx
从'rax'导入{createElement};
从“rax测试渲染器”导入渲染器;
它('Test ListItem TouchStart',()=>{
const mockFunc=jest.fn();
常量组件=renderer.create()
const tree=component.toJSON();
tree.eventListeners.touchstart();
//报告错误
期望(tree.eventListeners.tohavenCalled();
})
expect(已接收)。tohavebeincalled()
匹配器错误:收到的值必须是模拟或间谍函数
接收的类型为:函数
接收的has值:[函数handleTouchStart]
如何测试测试用例中是否存在传递道具的函数


如何测试props中传递的函数是否在测试用例中被调用?

toHaveBeenCalled
预计会出现错误,因此您可以检查模拟函数是否已按如下方式调用
expect(mockFunc).toHaveBeenCalled()
。至于第一个问题,你能澄清一下你的意思吗?如果您创建的是测试,该函数怎么可能不存在?
toHaveBeenCalled
预期会出现错误,因此您可以检查是否已按如下方式调用模拟函数
expect(mockFunc).toHaveBeenCalled()
。至于第一个问题,你能澄清一下你的意思吗?如果您创建的函数是测试函数,那么该函数如何不存在?