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

Я пытаюсь использовать verify в модульном тесте, чтобы убедиться, что метод вызывается для объекта, который отслеживается.Я могу убедиться, что метод на самом деле вызывается с помощью оператора журнала и проходит через код с помощью отладчика.все же вызов verify (Object, 1) .method () сообщает «Требуется, но не вызывается:» Также с утверждением uncommented mockTransferService.getCurrentTask () возвращает ноль, в то время как я снова могу проверить с помощью отладчика, что он устанавливается.Тестовый код показан ниже

 @Test
    public void testInitialPermitGranted() throws Exception {
        Config mockConfig = mock(Config.class);
        doReturn(path).when(mockConfig).getRequiredStringProperty(Config.WORK_DIR);
        mockTransferService = spy(new TransferServiceImpl(mockServiceConnection, mockConfig,
                Executors.newSingleThreadScheduledExecutor()));
        doReturn(true).when(mockTransferService).doStartTransfer(any());
        mockTransferService.enqueueTransfer(mockTransferTask);
        Thread.sleep(1000);
        //Assert.assertEquals(mockTransferTask, mockTransferService.getCurrentTask());
        verify(mockTransferService,times(1)).startTransfer(any());
    }
}

Метод, который тестируется, показан ниже

@Override
    public boolean startTransfer(TransferTask transferTask) {
        LOG.debug("StartTransferCalled");
        setCurrentTask(transferTask);
        return doStartTransfer(transferTask);
    }

Я довольно плохо знаком с mockito и, очевидно, что-то упустил.

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