2

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

然而,我正在努力让整个工作正常工作,要么 HttpTestingController 失败,要么弹珠失败。我已经建立了一个堆栈闪电战来证明我的观点。

4

1 回答 1

5

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

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

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

于 2020-04-13T11:01:59.470 回答