Использование подстановочного знака в качестве типа возврата в Java - PullRequest
1 голос
/ 28 марта 2019
Mockito.doReturn(true).when(cacheAdaptorCore)
                .cacheGet(OMSConst.DEFAULT_TENANCY_CODE,
                        OMSConst.APP_PARAM_DECIMAL_FORMATTER, CACHE_NAMES.SYS_PARAMS_CACHE_CORE);

В приведенном выше коде метод cacheGet возвращает логическое значение. (True / false) Я хочу использовать для этого подстановочный знак вместо true или false.

Mockito.doReturn(?).when(cacheAdaptorCore)
                .cacheGet(OMSConst.DEFAULT_TENANCY_CODE,
                        OMSConst.APP_PARAM_DECIMAL_FORMATTER, CACHE_NAMES.SYS_PARAMS_CACHE_CORE);

Я хочу использовать подстановочный знакв месте, где '?'есть.

Как это сделать на Java?

Ответы [ 2 ]

1 голос
/ 28 марта 2019

Ваш код Mockito.doReturn (истина) .when (cacheAdaptorCore) .cacheGet (OMSConst.DEFAULT_TENANCY_CODE, OMSConst.APP_PARAM_DECIMAL_FORMATTER, CACHE_NAMES.SYS_PARAMS_CACHE_CORE);

говорит Мокито: «Эй, Мокито, если во время следующего теста каким-то образом вызывается метод cacheAdapterCore.cacheGet () с параметрами OMSConst ..., на самом деле не вызывайте метод, а вместо этого заставьте код поверить, что метод возвращает true. "

Теперь попробуйте то же самое предложение с "... заставить код поверить, что метод возвращает ???"

Видите, это не имеет смысла.

Если вы хотите выполнять разные тесты, а для некоторых вы хотите, чтобы метод возвращал true, а для других вы хотите, чтобы он возвращал false, то вы должны написать отдельные методы тестирования, и в них скажите Mockito, чтобы он возвращал true, соответственно. ложь.

1 голос
/ 28 марта 2019

попробуйте

String wildcard = "";

if (true) {

wildcard = // подстановочный знак для true

}

else {

wildcard = // подстановочный знак для false

}

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