【发布时间】:2019-01-05 13:04:41
【问题描述】:
我正在尝试在我的代码库中为我无法更改的 ajax 函数创建一个测试,就像这样:
function myFetch (src) {
return $.ajax({
url: src
})
}
我这样称呼它并取回一个 json 对象数组(例如)
myFetch('https://jsonplaceholder.typicode.com/posts').then(i => console.log(i))
我将如何为此创建一个假 XHR 或假服务器(或其他想到的想法)?我只见过示例,包括显示如何使用回调执行此操作的 sinon 文档,所以如果我的函数是 myFetch(src, callback),我可以使用:
sinon.replace(jQuery, 'ajax', sinon.fake());
myFetch(fake.com, sinon.fake());
或者我认为是这样的,因为我不完全确定这是否可行。,
但是由于我的函数没有回调,甚至没有“成功”或任何要存根的东西,我该怎么做?
【问题讨论】:
标签: javascript unit-testing sinon