【问题标题】:How can I write unit tests for angular's HttpClient with Jasmine Marbles?如何使用 Jasmine Marbles 为 Angular 的 HttpClient 编写单元测试?
【发布时间】:2020-03-22 09:07:28
【问题描述】:

我有一个项目,我广泛使用 Angular HttpClient 请求作为流的基础。我很想使用 jasmine marbles 测试这些请求,因为它似乎是流单元测试的“行业标准”。

然而,我正在努力让整个事情正常工作,要么 HttpTestingController 失败,要么弹珠失败。我已经建立了一个stack blitz 来证明我的观点。

【问题讨论】:

    标签: angular testing rxjs jasmine-marbles


    【解决方案1】:

    我是 RxJS 核心团队的一员,我不建议您使用 jasmine marbles 或一般的大理石测试来测试业务逻辑。我从来不需要使用那些。我强烈建议您为此使用 HttpClientTestingModule。它更容易维护。

    如果您正在实现自己的操作符,或者您想测试订阅和取消订阅行为等边缘情况、对源 observable 的影响等,Marble 测试非常好。

    我分叉了你的 stackblitz 并按照我的方式更改了其中一个测试用例: https://stackblitz.com/edit/angular-unit-tests-8fqyl1?file=src/testing/http-client.spec.ts

    【讨论】:

      猜你喜欢
      • 2018-05-15
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 2016-06-29
      • 2023-03-24
      • 2015-11-10
      • 1970-01-01
      • 2020-02-18
      相关资源
      最近更新 更多