导致这个Jasmine Http Observable错误的原因是什么?

时间:2018-02-02 17:40:27

标签: json angular http jasmine karma-jasmine

我正在运行进行简单http呼叫的单元测试

karma.config.js,test.ts,tsconfig.js都是处女样板CLI 5.2.3,node,webpack和ts所有最新版本。 karma-webpack未使用

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

TypeError:this.handler.handle不是MergeMapSubscriber的函数。 WEBPACK_IMPORTED_MODULE_2_rxjs_operator_concatMap .a.call [as project](:9876 / _karma_webpack_ / webpack:/ C:/ Users / sauna / Documents /adev/UK/node_modules/@angular/common/esm2015/http.js:1174)     在MergeMapSubscriber._tryNext(:9876 / _karma_webpack_ / webpack:/ C:/ Users / sauna / Documents / adev / UK / node_modules / rxjs / _esm2015 / operators / m

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

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

..期望是testID的任何字符串

错误是由Obmineable呈现的,而不是由Jasmine处理

ping我需要提供更多信息,thx

1 个答案:

答案 0 :(得分:0)

回答我自己的问题可能是错的,StackOverflow的新手 - 我希望我找到了答案。我相信这个错误是一个线程/套接字问题。如果不使用Spy,似乎无法访问Jasmine http请求作为单元测试。我用Protractor解决了眼前的问题