Настройте mockito для печати фактических значений аргументов в сообщениях об ошибках проверки - PullRequest
4 голосов
/ 20 января 2012

При описании неудачной проверки по умолчанию Mockito печатает только те сайты вызовов, где происходили взаимодействия.Например:

    Wanted but not invoked:
    proxyListener.foundTemplateParam(
        "fooBar2",
        isNull(),
        isNull()
    );
    -> at        foo.ProxyHandlerTest.testThatImplicitParamsScannedCorrectly(ProxyHandlerTest.java:136)

    However, there were other interactions with this mock:
    -> at foo.ProxyHandler.<init>(ProxyHandler.java:99)
    -> at foo.ProxyHandler.<init>        (ProxyHandler.java:100)
    -> at foo.ProxyHandler.scanForParamSetters(ProxyHandler.java:222)
    -> at foo.ProxyHandler.<init>(ProxyHandler.java:102)
    -> at foo.ProxyHandler.<init>(ProxyHandler.java:104)

Это полезная информация, но я также хотел бы посмотреть, какие аргументы были переданы во время этих взаимодействий.Есть ли способ добиться этого?

PS Я знаю о насмешках с withSettings().verboseLogging().Но это слишком многословно и выводится на стандартный вывод вместо добавления этой информации в сообщение об ошибке подтверждения.

Обновление : Mockito 1.9.0 не поддерживает настройку сообщений об ошибках исключения из коробки(Я только что проверил их источники).

1 Ответ

0 голосов
/ 20 января 2012

самое безопасное место для этого - ответ, который печатает аргументы и возвращает заданное значение.

Затем можно написать что-то вроде:

given(some.callWith(arg1, arg2)).will(printArgsAndReturn("some value"));

, где printArgsAndReturn("some value") фактически возвращаетПользовательский ответ.

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