Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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模拟路径解析方法_Javascript_Node.js_Typescript_Unit Testing_Jestjs - Fatal编程技术网

Javascript 用Jest模拟路径解析方法

Javascript 用Jest模拟路径解析方法,javascript,node.js,typescript,unit-testing,jestjs,Javascript,Node.js,Typescript,Unit Testing,Jestjs,我想模拟作为“path”模块一部分的resolve方法。 我在一个方法中使用它,我想模拟path.resolve(filepath)的响应,这样我就可以在此基础上编写一些单元测试。你可以模拟path.resolve方法 例如。 main.ts: 从“路径”导入路径; 导出函数主(文件路径){ 返回path.resolve(文件路径); } main.test.ts: 从“/main”导入{main}; 从“路径”导入路径; 描述('61419093',()=>{ 它('应该通过',()=>{

我想模拟作为“path”模块一部分的resolve方法。 我在一个方法中使用它,我想模拟
path.resolve(filepath)
的响应,这样我就可以在此基础上编写一些单元测试。

你可以模拟
path.resolve
方法

例如。
main.ts

从“路径”导入路径;
导出函数主(文件路径){
返回path.resolve(文件路径);
}
main.test.ts

从“/main”导入{main};
从“路径”导入路径;
描述('61419093',()=>{
它('应该通过',()=>{
const resolveSpy=jest.spyOn(路径'resolve').mockReturnValueOnce('/fakepath');
const-actual=main('/root/avatar.jpg');
expect(实际).toBe('/fakepath');
expect(resolveSpy).toBeCalledWith('/root/avatar.jpg');
resolveSpy.mockRestore();
});
});
100%覆盖率的单元测试结果:

PASS stackoverflow/61419093/main.test.ts(12.631s)
61419093
✓ 应通过(4ms)
----------|---------|----------|---------|---------|-------------------
文件|%Stmts |%Branch |%Funcs |%Line |未覆盖行|s
----------|---------|----------|---------|---------|-------------------
所有文件| 100 | 100 | 100 | 100 |
main.ts | 100 | 100 | 100 | 100 |
----------|---------|----------|---------|---------|-------------------
测试套件:1个通过,共1个
测试:1项通过,共1项
快照:共0个
时间:14.426秒

谢谢!这就是我要找的!