Можно ли посмеяться над сообщением буфера протокола Java? - PullRequest
14 голосов
/ 26 января 2010

Протокол буферных классов помечен final, предположительно для эффективности; однако, это делает их довольно трудными для тестирования - Mockito не может издеваться / шпионить за финальными классами. Я попытался использовать PowerMockito безуспешно: я получаю ClassFormatError при подготовке класса final к тесту.

Мое решение до сих пор состоит в том, чтобы создавать интерфейсы с поддельными адаптерами, но я надеюсь, что есть менее трудоемкий подход.

Ответы [ 2 ]

2 голосов
/ 27 января 2010

JMockit может обрабатывать final и static. Просто обратите внимание на то, как его настроить, так как для этого требуется параметр -javaagent JVM, или твики пути к классам, или дополнительные аннотации, чтобы можно было имитировать final и static вещи.

1 голос
/ 26 января 2010

JDave имеет Unfinalizer , который интегрируется с JMock ClassImposteriser

Он не может отменять финализацию классов, загружаемых из загрузчика загрузчика классов, и требует аргумента VMпри запуске тестов.

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