您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

错误模拟类,其中包含对SQLiteOpenHelper的引用

错误模拟类,其中包含对SQLiteOpenHelper的引用

几个小时后,我正在寻找解决方案,我得到了最简单的解决方案。我认为android库中有一些未完成的测试。所以我只是运行此gradle命令进行清理:

./gradlew clean test

现在就可以了,StaticDatabaseHelper在这种情况下,我只是模拟类。这是我的最终测试 课程

public class AddressPresenterTest {

    @Mock
    private AddressView mView;

    @Mock
    private AddressDataSource mDataSource;

    @Mock
    private AddressLocalDataSource mLocalDataSource;

    @Captor
    ArgumentCaptor<DataSourceCallback<Province>> mProvinceCallbackCaptor;

    private AddressPresenter mPresenter;

    @Before
    public void beforetest() throws Exception {
        MockitoAnnotations.initMocks(this);

        mPresenter = new AddressPresenter(mDataSource, mView);
        mPresenter.setLocalDataSource(mLocalDataSource);
    }

    @Test
    public void When_SelectProvince_DataIsNull_ShowErrorMessage() {
        mPresenter.getLocalProvinceById(2129023);

        // Cause data source has callback, we need to capture the callback
        ArgumentCaptor<Integer> provinceIdCaptor = ArgumentCaptor.forClass(Integer.class);
        verify(mLocalDataSource).fetchProvinceById(provinceIdCaptor.capture(), mProvinceCallbackCaptor.capture());
        mProvinceCallbackCaptor.getValue().onFailedLoad();

        verify(mView).loadContentError();
    }
}

希望有帮助,谢谢

SQLServer 2022/1/1 18:25:43 有540人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶