Я пытаюсь поставить утверждение как
when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);
и у меня есть импорт
import static org.mockito.Mockito.when;
import static org.mockito.Matchers.anyLong;
import static org.mockito.Matchers.thenReturn; //not importing
import for thenReturn не отображает. Это проблема с версией? Я использую Mockito 1.8.4.
Mockito, когда возвращает объект класса OngoingStubbing. Этот класс имеет метод thenReturn(), и тот, который вызывается в вашем примере кода. Дополнительного импорта не требуется.
when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);
могут быть разбиты как
OngoingStubbing thing = when(myDao.fetchTree(anyLong()));
thing.thenReturn(myTreeList);
Вы просто вызов thenReturn
метод OngoingStubbing.
Этого должно быть достаточно, если вы используете:
import static org.mockito.Mockito.*;
И удалите остальные.
Ваш вопрос: это проблема с версией? Я бы сказал НЕТ, это не проблема с версией.
Как было предложено ранее, вы должны
создать минимальный тест с помощью этого кода в тесте
when(myDao.fetchTree(anyLong())).thenReturn(myTreeList);
запустите этот код из командной строки (не внутри в STS или любой IDE или что-то вроде)
В: Зачем запускать его из командной строки и избегать использования IDE файлов и т.д.? A: Потому что иногда синтаксические анализаторы кода и проверки и валидаторы вашей привилегированной IDE сообщают о ложных срабатываниях о некоторых угловых случаях в коде.