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

找到是否有至少一个-可观察Java8 Rx

禹兴安
2023-03-14

我有一个可观察的

为了更好地解释:

Observable<SomeObject> thing = someFunction();
thing.flatMap(c -> c.toObservable())
.filter(q -> someContidion(q))
.forEach(x -> Assert.assertTrue(x!=null));

当然这不是我需要的,因为如果没有匹配条件的元素,我就看不到任何错误,单元测试也通过了。


共有1个答案

谭昱
2023-03-14

另一种方法是使用RxJava项目已经在自己的测试用例中使用的东西,这就是TestSubcriberTestScheduler在某个时候也可能对您有用):

@RunWith(JUnit4.class)
public class RxTest {

    @Test
    public void test() throws Exception {
        Observable<String> thing = Observable.just("thing", "stuff", "whatever", "", null);
        Observable<Boolean> test = thing.contains("thing");

        TestSubscriber<Boolean> sub = new TestSubscriber<>();
        test.subscribe(sub);

        sub.assertValue(true);
    }
}
 类似资料:
  • 让我们考虑下面的示例代码: 在函数gude()中,将创建一个新的observable,它将发出哈希值,该哈希值的前n个前导值设置为零。一个观察者订阅了那个可观察的,并立即取消订阅。让我们假设函数createHashWithNLeadingZeroes()需要相当长的时间来生成响应。 我想这里发生了以下事情: (1) 创建了一个新的可观察对象,描述可观察对象行为的函数被内部存储在属性_subscri

  • 我已经阅读了ReactiveX留档几次,仍然无法完全理解当观察者订阅可观察文件时会发生什么。 我们来看一个简单的例子: StackBlitz代码。 我的问题: 传递给可观察对象的

  • 我试图创建一个observate,它从firebase查询返回一个列表。问题是,当我调用onNext发出项目,然后调用onComplete时,它会停止发出第一个项目之后的项目,而根本不调用onComplete不会发出任何东西。有没有正确的方法来实现我想要实现的目标?我对RxJava还是很陌生,请原谅我的无知。感谢您的帮助:)

  • 问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首

  • 我正在用RxJava在Android中制作计时器。我需要在RxJava中制作一个计时器,以便每秒发出一个可观察的信号。我试过以下方法,但没有成功。有没有想过我做错了什么?

  • 函数应该从get请求返回一个 在这种情况下,我只能在为真时执行请求,否则我在函数