Mockito.lenient не возвращает ожидаемый результат - PullRequest
0 голосов
/ 25 января 2019
@RunWith(MockitoJUnitRunner.class)
public class TestMyStuff{
    @Mock
    private Worker worker;

    @Before
    public void setup(){
        Mockito.lenient()
                .when(worker.doWork("some stuff", "some other stuff", new Date()))
                .thenReturn(true);
        Mockito.lenient()
                .doReturn(true)
                .when(worker).doWork("some stuff", "some other stuff", new Date());
    }

    @Test
    public void test(){
        //quick test to see if mock works.
        final boolean isDone = worker.doWork("zzz", "qwerty);
        System.out.println("isDone: " + isDone);//i want isDone to be true
    }
}

Метод Mockito.lenient() не работает, потому что он не возвращает true.Как мне сделать метод Worker.#doWork() return true независимо от ввода?

1 Ответ

0 голосов
/ 25 января 2019

Вы можете использовать это: when(Worker.doWork(anyString(),...).thenReturn(true) Тем не менее, я думаю, что код, который вы разместили, имеет некоторые проблемы. Метод "doWork" выглядит как взятие двух объектов String и одного объекта Date. В тестовом методе вы должны правильно указать doWork, чтобы увидеть результаты.

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