当前位置: 首页 > 知识库问答 >
问题:

RxJava组合测试调试

邵阳辉
2023-03-14

我使用的是RxJava组合测试操作符。

根据文档,订阅时,只有在两个可观察对象都发出这些值之后,才会发生第一个组合发射事件,从这一点开始,它将在每个可观察对象的每次发射时发射。

如何确定第一个可观察到的发射事件已经发生,它现在正在等待第二个...

共有1个答案

姜阳
2023-03-14

您可以将doOnEach用于可观察对象和可流动对象,或将doOnEvent用于单打对象、可完成对象和可能存在的对象。这些操作所做的是每次从源发出一个项时,在将信号传递到下游之前执行一些代码。它对于将调试/日志代码“注入”到RX流中非常有用。

请参见:https://proandroiddev.com/briefly-about-rxjava-logging-20308b013e6d

编辑:

val a = BehaviorSubject.create<Int>().apply {
    onNext(1)
}.doOnEach { EventReporter.d(TAG, it.value?.toString() ?: "") }

val b = BehaviorSubject.create<Int>().apply {
    onNext(2)
}.doOnEach { EventReporter.d(TAG, it.value?.toString() ?: "") }

Observable.combineLatest(listOf(a, b), { args: Collection<Int> -> args}
 类似资料:
  • 我正在使用带有两个可观察对象的RxJava CompineLatest。我的问题是,如果其中一个可观察对象以onError结尾,是否会调用组合onNext? 文档显示了一个令人高兴的场景,即两个可观察对象都正确地发出项目,但我无法找到错误情况下会发生什么。 |----关于错误<--pl hd--0/>可观察1 |-----------O--------O------可观察到2 |---------

  • 目前,我正在使用带有诺基亚/红色插件的Eclipse,它允许我编写robot框架测试套件。支持Python 3.6和Selenium。我的项目叫做“自动化”,测试套件在

  • 22.13.2.调试 测试任务提供了Test.getDebug()属性,可使JVM等待调试器附加到5005端口后在进行调试. 通过调用--debug-JVM任务选项,这也可以启用调试任务(since Gradle1.12)。

  • 当你在制作应用的时候,有点小错误和发生点小报错的啥的是很正常的。有时候错误不明显,所以知道怎样去追踪错误是非常重要的。 本节课将会研究如何最好的去调试Ionic 2应用,但是不会讲什么是调试或者如何使用调试工具(例如,查看源代码,设置断点,监听网络请求等等)。如果你不熟悉基于浏览器的Javascript调试,那么强烈建议一定要先你看看这个。 浏览器调试 开发应用的时候第一发通常是桌面浏览器。能够通

  • 我有以下RxJava2 Kotlin代码: 这模拟了一个可完全观察的对象(想象对API的一个简单更新操作),然后是一个可观察的对象(图像是API上的一个get操作)。我希望以一种方式连接这两个可观察对象,当Completable完成时,运行单个对象,最后在我的观察者(Int 42)上获得onSuccess事件。 但是,此测试代码不起作用。断言失败,出现以下错误: 我无法理解我做错了什么,我希望Co

  • 我需要将另一个改装请求中的图像合并到其特定系列中。听起来很简单的任务把我带进了反应式的地狱,没有一丝希望。 具体来说,我还通过可观察创建服务,因为我需要获取身份验证令牌来创建服务。 我的尝试基于以下答案:https://stackoverflow.com/a/28418503/2192545. 我有点不知所措。我只是在Observable的Func2部分得到了“无法推断函数接口类型”。在IDE中,