Mockito шпион для частичной / полной насмешки не работает - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь частично смоделировать пружинный бин, чтобы Spy

@ActiveProfiles(profiles = {Profiles.TEST})
public class ServiceTestMockito {

    @Autowired
    private ServiceBean serviceBean;

    @Autowired
    private DAO dao;

    @Test
    public void testSpy() {

        ServiceBean serviceBeanSpy = Mockito.spy(serviceBean);
        doReturn(true).when(serviceBeanSpy).methodB(Mockito.any());
        Assert.isTrue(serviceBeanSpy.methodA(new Employee()), "This should be true");      
    }
}

public class ServiceBean {

    public Boolean methodB(Employee employee) {
        return false;
    }

    public Boolean methodA(Employee employee){
        return methodB(employee);       
    }

}

издевался только над одним из методов, вызываемых в другом методе. Я использовал отладчик, чтобы проверить, является ли serviceBean экземпляром, отличным отserverBeanSpy, но оказывается, что они одинаковы.Я не уверен, что мне здесь не хватает

Я ссылался на следующие вопросы, но все, кажется, находят проблему с тем, как макет объявляется / вызывается, но я придерживаюсь формата, упомянутого в вопросах / форумах ниже:

Вопрос_1

Mockito_Docs

Вопрос_2

Вопрос_3

Поэтому, когда я запускаю тест, утверждение всегда завершается неудачей, потому что шпион не работает, и я получаю реальное ложное значение, возвращенное методом methodB

Я даже перешагнул отладчик на methodBи я вижу, как это выполняется.Я считаю, что methodB не должен был вызываться вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...