我正在运行进行简单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
答案 0 :(得分:0)
回答我自己的问题可能是错的,StackOverflow的新手 - 我希望我找到了答案。我相信这个错误是一个线程/套接字问题。如果不使用Spy,似乎无法访问Jasmine http请求作为单元测试。我用Protractor解决了眼前的问题