繁体   English   中英

如何在回调函数中测试API调用的响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM