我有一个项目,我广泛使用角度 HttpClient 请求作为流的基础。我很想使用 jasmine marble 测试这些请求,因为它似乎是流单元测试的“行业标准”。
然而,我正在努力让整个工作正常工作,要么 HttpTestingController 失败,要么弹珠失败。我已经建立了一个堆栈闪电战来证明我的观点。
我有一个项目,我广泛使用角度 HttpClient 请求作为流的基础。我很想使用 jasmine marble 测试这些请求,因为它似乎是流单元测试的“行业标准”。
然而,我正在努力让整个工作正常工作,要么 HttpTestingController 失败,要么弹珠失败。我已经建立了一个堆栈闪电战来证明我的观点。
我是 RxJS 核心团队的一员,我不建议您使用 jasmine marbles 或一般的大理石测试来测试业务逻辑。我从来不需要使用那些。我强烈建议您为此使用 HttpClientTestingModule。它更容易维护。
如果您正在实现自己的操作符,或者您想测试订阅和取消订阅行为、对源 observable 的影响等边缘情况,Marble 测试非常好。
我分叉了你的 stackblitz 并按照我的方式更改了一个测试用例: https ://stackblitz.com/edit/angular-unit-tests-8fqyl1?file=src/testing/http-client.spec.ts