【发布时间】:2018-07-13 06:37:05
【问题描述】:
我正在运行一个进行简单 http 调用的单元测试
karma.config.js、test.ts、tsconfig.js 都是原始样板 ng CLI 5.2.3,node、webpack 和 ts 都是最新版本。业力-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);
}
);
..expectation 是 testID 的任意字符串
错误是 ng 呈现的 Observable 没有被 Jasmine 处理
联系我,我需要提供更多信息,谢谢
【问题讨论】:
-
不清楚你在问什么。
-
...进一步调查是否可以在 Jasmine 测试中检索真实数据?即使用 Jasmine 作为集成 e2e 的一个不可分割的部分
标签: json angular http jasmine karma-jasmine