Mockito не возвращает ожидаемую строку, а возвращает возвращаемый объект - PullRequest
0 голосов
/ 24 января 2019

Я издеваюсь InetAddress , Когда я издеваюсь над этим, я получаю смоделированный объект вместо ожидаемой строки

    InetAddress inetAddress = Mockito.mock(InetAddress.class);
    Mockito.when(inetAddress.getHostName()).thenReturn("test")
    System.out.printinetAddress.getHostName());

Я думаю, он должен напечатать test в консоли, но он печатает хеш-код mocked объекта.

1 Ответ

0 голосов
/ 24 января 2019
Mockito.when(inetAddress.getHostName()).thenReturn("test")

С этой строкой вы говорите mockito, что когда я вызываю inetAddress.getHostName (), возвращает мне «test». Вы сделали это объявление, однако, вы не вызывали этот смоделированный метод, чтобы увидеть, что происходит, вместо этого вы печатаете объект mockito, который ссылается на адрес, как и все другие объекты в java. Чтобы увидеть результаты, после создания объекта-насмешника вам необходимо:

System.out.println(inetAddress.getHostName());
...