首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Maybe.create(发射器)中发射Maybe.empty?

如何在Maybe.create(发射器)中发射Maybe.empty?
EN

Stack Overflow用户
提问于 2019-02-13 08:29:00
回答 1查看 185关注 0票数 0

我想把下面的回调代码包装到一个可能的

代码语言:javascript
复制
public class FooDataSource 
...
public Maybe<Foo> get(){
    return Maybe.create(emitter -> {
        bar.setCallback(isEmpty -> emitter.onComplete());
    });
}

没有调用emitter.onEmpty(),我能想到的最接近的等效调用是emitter.onComplete()。我“假设”onComplete()可能会成为Maybe.empty()的等价物。

问题是当我测试这段代码时

代码语言:javascript
复制
FooDataSource.get().subscribe(testObserver);
// Assert that empty returns
testObserver.assertEmpty();

我得到它是完成的而不是空的。

代码语言:javascript
复制
java.lang.AssertionError: Completed! (latch = 0, values = 0, errors = 0, completions = 1)

应该如何向下游发出onEmpty()?

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 15:03:34

根据文档,TestObserver#assertEmpty()意味着

断言测试观察者/测试订阅者收到了Disposable,但没有其他事件。

据我所知,它与您的情况不匹配-您调用emitter.onComplete()。要正确测试代码,可以使用tests of rxjava2 repository中使用的方法

代码语言:javascript
复制
@Test
public  void empty() {
    Maybe.empty()
    .test()
    .assertResult();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54660729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档