问题标签 [jasmine-marbles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 如何在可观察流的测试中模拟 Angular HttpClient 响应?
我有一个最终触发对 Angular HttpClient 的调用的 observable。我需要模拟来自 HttpClient 的响应,但是我不知道如何在 TestScheduler 运行方法的上下文中执行它。假设我有以下测试:
transferObservable
级联时发出的值switchMap
调用服务,该服务又通过 Angular HttpClient 发送 GET 请求;结果值是从 发出的sut.data$
。
我尝试在 scheduler.run 方法内外的不同位置放置以下行,但我总是得到相同的错误:Expected one matching request for criteria "Match URL: http://foo", found none.
大致在哪里以及如何模拟单个调用http://foo
并刷新expectedData
为所需的响应?
编辑精简beforeEach
设置,显示以下配置HttpTestingController
:
编辑 2:调试时我的服务中的 HttpClient 实例的屏幕截图。
编辑 3: Stackblitz 在这里发布。失败的测试contract$ should return contract
是令人感兴趣的。