如何对处理程序进行单元测试

时间:2020-08-06 11:36:04

标签: java android unit-testing testing mocking

public void loadMemberPhotoList() {

        final List<MemberAndGuardianPhotoAndSignatureWrapper> photoList = getPhotoListToUpload();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                someMethod();
                someMethod1();
            }
        }, 500);
}

我有一个处理程序,并且必须确保在单元测试中调用了某些方法1和某些方法2。

    @Test
    public void loadMemberPhotoList(){
        //given
        presenter = spy(new PhotoSignaturePresenter(activity,view));
        List<MemberAndGuardianPhotoAndSignatureWrapper> photoUpload = new ArrayList<>();
        List<GuardianPhotoTable> gpt = new ArrayList<>();


        gpt.add(new GuardianPhotoTable(Long.valueOf("1"), "22", "ram prasad", "asdfghjklkj", "remarks", Long.valueOf("2"), "new", Long.valueOf("23")));
        gpt.add(new GuardianPhotoTable(Long.valueOf("1"), "22", "ram prasad", "asdfghjklkj", "remarks", Long.valueOf("2"), "new", Long.valueOf("23")));
        gpt.add(new GuardianPhotoTable(Long.valueOf("1"), "22", "ram prasad", "asdfghjklkj", "remarks", Long.valueOf("2"), "new", Long.valueOf("23")));
        
        photoUpload.add(new MemberAndGuardianPhotoAndSignatureWrapper("1","21","active","2","2","umesh","asdfghjklopw","lkjhgfdsaer","wadsdasd","asdasdwad","dsfewdsadas","karishma",gpt));
        photoUpload.add(new MemberAndGuardianPhotoAndSignatureWrapper("1","21","active","2","2","umesh","asdfghjklopw","lkjhgfdsaer","wadsdasd","asdasdwad","dsfewdsadas","karishma",gpt));
        photoUpload.add(new MemberAndGuardianPhotoAndSignatureWrapper("1","21","active","2","2","umesh","asdfghjklopw","lkjhgfdsaer","wadsdasd","asdasdwad","dsfewdsadas","karishma",gpt));
       
        doReturn(photoUpload).when(presenter).getPhotoListToUpload();
        //when
        presenter.loadMemberPhotoList();
        //then
        verify(view).someMethod();
        verify(view).someMethod1();
    }

我尝试了此方法,但是在到达新的Handler()。postDelayed()

时进行了测试

有人知道怎么做吗?

0 个答案:

没有答案
相关问题