首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在typescript中模拟XMLHTTPRequest进行单元测试

如何在typescript中模拟XMLHTTPRequest进行单元测试
EN

Stack Overflow用户
提问于 2017-09-11 15:17:54
回答 1查看 935关注 0票数 1

我的src文件中有这段代码,我想为此编写单元测试。我在angular 4应用程序中使用了karma-webpack。请给出建议

代码语言:javascript
复制
public static load(jsonFile: string): Promise<boolean> {
console.log('calling loadinstance');
return new Promise((resolve: any, reject: any) => {
  const xobj = new XMLHttpRequest();
  xobj.overrideMimeType('application/json');
  xobj.open('GET', jsonFile, true);
  xobj.onreadystatechange = () => {
    const readyOK = 4;
    const responseOK = 200;
    if (xobj.readyState === readyOK) {
      if (xobj.status === responseOK) {
        ConfigLoader.data = JSON.parse(xobj.responseText);
        resolve(true);
      }
      else {
        reject(`Could not load file '${jsonFile}': ${xobj.status}`);
      }
    }
  };
  xobj.send(null);
});

}

EN

回答 1

Stack Overflow用户

发布于 2017-09-11 15:24:40

安静,简单地使用spyOn。

代码语言:javascript
复制
it('Your Service', inject([YourService], (YourService: yourService) => {
  spyOn(yourService, 'load').and.returnValue(loadedJSON);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46150151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档