[英]How can i test response for an API call in a callback function
我想测试一个接受2个参数的异步API。 首先是要执行的操作字符串,其次是回调函数。 我想测试我在回调函数中作为参数得到的响应。
someApi('getName', (response) => {
// I want to test the response object.
console.log(response);
})
我可以像这样测试API调用:
spyOn(window.someApi)
expect(someApi).toHaveBeenCalledWith('name_1', jasmine.any(Function))
//let mockResponse = {name:'name1'};
但是我该如何测试我是否得到正确的响应,如response.name ='name1'。
尝试这个
someApi('getName', (response) => {
// I want to test the response object.
if(response.name === 'name you want to match') {
//do something if it matches
}
else {
//do something if it doesn't match
}
})
可以完成以下操作:
const lastCall = someApi.calls.mostRecent();
const callback = lastCall.args[1];
callback({name:'name1'})
expect(someVariableWhichUsesThisResponse).toBe({name:'name1'})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.