【发布时间】:2016-11-25 09:56:48
【问题描述】:
我有一个Observable<SomeObject>,我需要测试它是否至少有一个值“事物”元素(我想不是流)尊重一个条件(它用于单元测试,所以我需要断言某事或至少抛出异常)。我应该如何用 Java 8 编写这个?
为了更好地解释:
Observable<SomeObject> thing = someFunction();
thing.flatMap(c -> c.toObservable())
.filter(q -> someContidion(q))
.forEach(x -> Assert.assertTrue(x!=null));
当然这不是我需要的,因为如果没有匹配条件的元素我看不到任何错误并且单元测试通过了。
【问题讨论】:
-
不抱歉,我的问题不准确,我仍然找不到使用 anyMatch 的方法(也许它是正确的,但是如果我在 flatMap 之后尝试使用它,它会说无法解决方法)
-
Observable 来自 RxJava,你可以使用
exists()方法,或者如果你想要像 Java 中的stream.anyMatch(predicate)这样的终端操作,你可以使用exists().toBlockingObservable().single()之类的东西 -
谢谢@NickVanderhoven,这正是我所需要的,无论出于何种原因,问题已被改回以删除详细信息。
-
@t-rossi 有时,Stack Overflow 就是斯巴达
标签: java functional-programming java-8 rx-java