Unit testing 在global.fetch-in-Deno上stubing/Spy

Unit testing 在global.fetch-in-Deno上stubing/Spy,unit-testing,testing,deno,Unit Testing,Testing,Deno,我刚刚进入Deno,我有点不确定的一件事是如何为全局获取函数存根或创建间谍 一种解决方案是简单地将fetch封装在一个函数中,这个函数本身可以被存根或监视,但这似乎是一个不必要的抽象 任何帮助都将不胜感激。使用denock,您可以模拟fetch调用的返回对象。也许不是您想要的,但是现在您可以在不真正调用服务器的情况下进行测试 从导入{assertEquals}”https://deno.land/std/testing/asserts.ts"; 从导入{denock}”https://den

我刚刚进入Deno,我有点不确定的一件事是如何为全局获取函数存根或创建间谍

一种解决方案是简单地将fetch封装在一个函数中,这个函数本身可以被存根或监视,但这似乎是一个不必要的抽象


任何帮助都将不胜感激。

使用denock,您可以模拟fetch调用的返回对象。也许不是您想要的,但是现在您可以在不真正调用服务器的情况下进行测试


从导入{assertEquals}”https://deno.land/std/testing/asserts.ts";
从导入{denock}”https://deno.land/x/denock/mod.ts";
//测试功能
异步函数fetchFromServer(){
const urlObject=新URL(“https://jsonplaceholder.typicode.com/todos");
const response=wait fetch(urlObject{
方法:“张贴”,
标题:新标题({
“内容类型”:“应用程序/json”,
}),
正文:JSON.stringify({
用户ID:2,
身份证号码:23024,
标题:“授权或授权”,
已完成:错误,
}),
});
return wait response.json();
}
//假回报
德诺克({
方法:“张贴”,
协议:“https”,
主机:“jsonplaceholder.typicode.com”,
标题:[
{
标题:“内容类型”,
值:“应用程序/json”,
},
],
路径:“/todos”,
请求主体:{
用户ID:2,
身份证号码:23024,
标题:“授权或授权”,
已完成:错误,
},
答复状态:201,,
responseBody:{示例:“我的模拟响应”},
});
//试验
test(“fetch”,异步()=>{
const actual=wait fetchFromServer();
assertEquals({示例:“我的模拟响应”},实际);
});