代码之家  ›  专栏  ›  技术社区  ›  halfbeep

是什么导致了这个Jasmine Http可观察错误?

  •  0
  • halfbeep  · 技术社区  · 7 年前

    我正在运行一个单元测试,可以进行一个简单的http调用

    因果报应。配置。js,测试。ts,tsconfig。js是所有最新版本的virgin样板文件ng CLI 5.2.3、node、webpack和ts。未使用karma网页包

    httpclient get调用生成此错误,但仅当在karma/jasmine/webpack中作为指定测试运行时:

    TypeError:此。处理程序。句柄不是MergeMapSubscriber上的函数。 WEBPACK\u IMPORTED\u MODULE\u 2\u rxjs\u operator\u concatMap .a、 调用[作为项目](:9876/\u karma\u webpack\u/webpack:/C:/Users/sanaa/Documents/adev/UK/node\u modules/@angular/common/esm2015/http.js:1174) 在MergeMapSubscriber_tryNext(:9876/\u karma\u webpack\u/webpack:/C:/Users/sana/Documents/adev/UK/node\u modules/rxjs/\u esm2015/operators/m

    这是将http调用作为集成套件的一部分的测试规范:

    httpClientInstance.get('myAPIurlReturningAJsonObj').subscribe(
      (data) => {
          testID = data.MessageText;
      },
      (error) => {
          console.log(error);
      }
    );
    

    ..expectation是要测试的任何字符串

    这个错误是由ng呈现的可观察性引起的,而不是由Jasmine处理的

    请告诉我我需要提供更多信息,谢谢

    1 回复  |  直到 7 年前
        1
  •  0
  •   halfbeep    7 年前

    回答我自己的问题可能是错误的,对StackOverflow来说是个新手——我希望我已经找到了答案。我认为此错误是线程/套接字问题。如果不使用Spy,作为单元测试访问Jasmine http请求似乎是不可能的。我用量角器解决了眼前的问题