问题标签 [rxjs-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.

0 投票
1 回答
323 浏览

rxjs - 无法运行最简单的 rxjs-marbles 测试

在全新安装ng new myapp(cli 版本 1.6.8、Angular 5.2.0、rxjs 5.5.6)时,我安装了 rxjs 弹珠。

由于某些配置原因,我在运行非常基本的测试时遇到问题。谁能告诉我出了什么问题?

控制台错误:

0 投票
2 回答
2040 浏览

unit-testing - RxJS Marble 测试:expectObservable 与 toBeObservable

有什么区别:

句法?

是一个测试库的问题还是只是一个味道?

0 投票
1 回答
295 浏览

angular - rxjs-marbles 测试没有任何期望

我使用rxjs-marbles在我的 Angular 7 应用程序中测试 observables。但它看起来m.expect并没有被茉莉认可为预期。

我有以下测试:

当我运行它时,我在控制台中收到错误:

同样在浏览器输出中,我的测试前缀为:

SPEC HAS NO EXPECTATIONS should see expectations

添加expect(true).toBe(true);解决了这个问题,但这并不是我真正想要的方式。

如何注册m.expect为茉莉花的期望?

0 投票
1 回答
2034 浏览

angular - 在 RxJs 和 Angular 中测试可观察的“下一个”回调

我正在尝试使用 RxJs Observables 在 Angular 中做一个非常简单的测试,但我做不到。这就是我基本上要测试的内容:

当后面的可观察对象发出一个值testMe时,我如何测试它是否正确更新?methodReturningObservable

我用这个尝试过:

所以,tick()这里似乎没有做任何事情。没有什么能让我cold对我的间谍产生任何价值。

我尝试了,如大理石部分下的https://netbasal.com/testing-observables-in-angular-a2dbbfaf5329getTestScheduler.flush()所示。

我可以使用这样的弹珠在可观察对象上发出值吗?只需触发摘要,这在 AngularJS 中非常容易,但我似乎无法让 Anguar 让我进入下一个可观察对象的回调。

0 投票
1 回答
209 浏览

typescript - 使用弹珠测试可观察映射

我有一个方法可以将 observable 作为输入并切换到新的 observable。或者,我可以使用 map 而不是 switchMap。如何使用弹珠进行测试?

这不起作用:

我收到以下错误:

期望值等于:[{"frame": 0, "notification": {"error": undefined, "hasValue": true, > "kind": "N", "value": "B"}}]

收到:[{"frame": 0, "notification": {"error": undefined, "hasValue": true, > "kind": "N", "value": "B"}}, {"frame" :0,“通知”:{“错误”:>未定义,“hasValue”:假,“种类”:“C”,“值”:未定义}}]

0 投票
1 回答
1045 浏览

testing - RxJs 弹珠测试:断言失败日志难以理解

我有这个 Rxjs 测试代码。它故意失败,因为我想向你展示失败的日志。我发现很难理解,或者至少我不能流利地阅读它。

有人可以解释一下是什么意思:$[i].frame = i' to equals i''

在此处输入图像描述

0 投票
4 回答
2837 浏览

rxjs - 延迟测试 NGRX 效果

我想测试一个效果如下:

  1. 如果调度了 LoadEntriesSucces 操作,则效果开始
  2. 等待 5 秒
  3. 5 秒后发送 http 请求
  4. 当响应到达时,将分派新的操作(取决于响应是成功还是错误)。

Effect 的代码如下所示:

我要测试的是效果是否在 5 秒后发送:

但是这个测试对我不起作用。测试的输出如下所示:

我应该怎么做才能使这个测试工作?

0 投票
1 回答
32 浏览

redux-observable - 如何检查匿名函数?

我在史诗中有以下内容:

和行动:

问题出在我使用弹珠的测试中,我需要能够检查匿名函数,因为dispatchActions它被视为匿名函数。我怎么做?

0 投票
0 回答
80 浏览

rxjs - Marble-Testing 不使用过滤器运算符

编辑

我把问题归结了。以下代码在测试中产生错误,但在浏览器中按预期工作(请参阅https://github.com/prumand/jest-marbles-merge-maphttps://github.com/ReactiveX/rxjs/issues/第4837

  • 测试:返回一个 WE_FINISH
  • 浏览器(预期):MY_NEW_ERROR

更新 19.06.2019

我从给定的 github 问题中添加了 carants 示例,效果很好。我的例子仍然失败。不知道为什么。IMO 它应该总是抛出一个错误。

还有另一个更新,测试不会在 linux 上失败,但只能在我的 windows 机器上

更新 02.07.2019 :O 似乎是我们使用的端点安全解决方案的问题......

0 投票
1 回答
111 浏览

angular - 如何编写单元测试以获得在 n 次后返回有效响应的效果?

我必须为此效果编写单元测试,即在出错时每 1 秒调用一次服务。例如,我需要测试调用服务 3 次后,我会收到良好的响应。

我尝试了一些方法来测试,但没有任何结果。

这是我必须测试的效果:

这是我为了看到成功场景而进行的单元测试。我要测试的是重载逻辑