【问题标题】:What's causing this Jasmine Http Observable error?是什么导致了这个 Jasmine Http Observable 错误?
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2012-10-06
    • 2012-09-21
    • 2010-10-12
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多