Rxjava + Room java.lang.AssertionError: No values (latch = 1, values = 0, errors = 0, completions =

Rxjava + Room java.lang.AssertionError: No values (latch = 1, values = 0, errors = 0, completions = 0)

出错:Insert数据后去Query数据
原因:Rx和Junit 不在一个线程里,insert需要时间,Query没等insert成功就查数据,所以错误

Schilder 还不能帮你把线程切换到JUnitThread,或者说比较麻烦,这里我们只需要加上这个就能指定在一个线程里

@Rule
    public InstantTaskExecutorRule instantTaskExecutorRule = new InstantTaskExecutorRule();


要添加依赖

    androidTestCompile "android.arch.core:core-testing:1.1.1"

这个错抛在RX的BeseTestConsumer assertValueAt() ,原因是没有查到数据,但是调用了assertValueAt 所以报一个没找数据的异常

猜你喜欢

转载自blog.csdn.net/moxiouhao/article/details/80487141