令牌“boolean”上的Spring Mockito语法错误,此令牌后预期的维度

时间:2018-05-24 12:08:30

标签: java spring testing mockito

我的单元测试存在问题,这意味着我的应用程序中的Service类涉及Dao。

@Mock(answer = Answers.RETURNS_DEEP_STUBS) 
private AvisDao avisDao;

@InjectMocks
private ApiPortalsService service = new ApiPortalsServiceImpl();   

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

Factory factoria = FactoryImpl.getInstance();

@Test
public void testGuardarAvisos() throws Exception{
    Mockito.when(avisDao.existsPortalContingut(AvisPortal.class.cast(Matchers.anyObject()))).thenAnswer(new Answer<boolean>(){
        @Override
        public boolean answer(InvocationOnMock invocation) throws Throwable{                             

            return true; 
        }
    });
}

这是Test类,当我尝试使用布尔值设置the thenAnswer时发生错误。包含对象的方法existsPortalContingut返回布尔值。这是我第一次尝试创建一个Test类,如果我忘记了什么,请告诉我,我会编辑它。

我说错了什么?

boolean existsPortalContingut(final AvisPortal portalContenido);   

这是我试图在Dao中调用的方法

1 个答案:

答案 0 :(得分:0)

答案很简单,不是布尔值,它的布尔值因为它返回了一个对象。

这将是这样的:

Mockito.when(avisDao.existsPortalContingut(AvisPortal.class.cast(Matchers.anyObject()))).thenAnswer(new Answer<Boolean>(){

        @Override
        public Boolean answer(InvocationOnMock invocation) throws Throwable {
            return true;
        }        
    });