首页 > 解决方案 > 调用方法时是否可以完成单元测试?

问题描述

这是我的测试方法,如果调用 showLoading()loadDataSuccess(response)应该成功:

 @RunWith(PowerMockRunner.class)
     public class PresenterTest {
            @Mock  
            private ProfileContract.View view;
            @Mock
            private ProfileContract.Handler handler;

            @Test
            public void onLoadDataClicked() {
              presenter.loadData();
              verify(mView, times(1)).showLoading();
              verify(mHandler, times(1)).loadDataSuccess();
            }
     }

更新 1 这是我的主持人:

class ProfilePresenter(private val mView: ProfileContract.View) : ProfileContract.Handler {

     override fun loadData() {
            mView.showLoading()
            mUserService.user()
                    .compose(RxUtil.mapper())
                    .subscribe({ response ->
                        loadDataSuccess()
                    }, { error ->
                        //stuff
                    })
        }
}

谢谢!

标签: unit-testingkotlinmvp

解决方案


如果您使用return语句,您的测试以成功状态结束。


推荐阅读