Я пытаюсь проверить, вызван ли регистратор. Проблема в том, что он возвращает void, поэтому рекомендуется использовать шпион вместо заглушки. К сожалению, шпион действует фанки (не работает). В идеале, я также хотел бы удалить «msg» и использовать совпадение.Издевательская функция void в Scala с Mockito?
Код приведен ниже. Я также пробовал подход, заданный https://stackoverflow.com/a/24150445/555493, и я до сих пор получаю аналогичную ошибку.
//setup spy
val logger = spy(new Logger)
logger.debug(msg)
//call code
//verify
there was one(logger).debug(msg)
Я получаю эту ошибку:
The mock was not called as expected:
Argument(s) are different! Wanted:
logger.debug(
($anonfun$apply$mcV$sp$1) <function0>
);
-> at HttpHealthCheckSpec$$anonfun$35$$anon$11$$anonfun$11.apply$mcV$sp(HttpHealthCheckSpec.scala:176)
Actual invocation has different arguments:
logger.debug(
($anonfun$setupMock$1) <function0>
);
-> at HttpHealthCheckSpec.setupMock(HttpHealthCheckSpec.scala:58)