gpt4 book ai didi

java - 查找是否至少有一个 - Observable Java 8 Rx

转载 作者:太空宇宙 更新时间:2023-11-04 12:02:09 24 4
gpt4 key购买 nike

我有一个Observable<SomeObject>为此,我需要测试至少有一个值“事物”的元素(我想不是流)尊重一个条件(它用于单元测试,所以我需要断言某些内容或至少抛出异常)。我应该如何在 Java 8 中编写这个?

为了更好地解释:

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

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

最佳答案

另一种方法是使用 RxJava 项目已经用于其自己的测试用例的内容,即 TestSubscriber ( TestScheduler 在某些时候也可能对您有用):

@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);
}
}

关于java - 查找是否至少有一个 - Observable Java 8 Rx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40802137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com