Как перехватывать приватные методы

Может кто-нибудь объяснить, как некоторые издевательские библиотеки, такие как power mock, создают прокси для частного метода. Я немного изучил cglib, но не смог найти способ перехватить вызов закрытого метода. Я особенно хочу знать о любых библиотеках низкого уровня или основных методах Java, которые можно использовать для перехвата частных методов.


person Prasad Weera    schedule 03.02.2013    source источник
comment
Я думаю, что у этого вопроса есть ответ на ваш вопрос stackoverflow.com/questions/33776369/   -  person yaswanth    schedule 20.01.2017


Ответы (1)


Вам не нужно перехватывать вызов как таковой. Просто(!) вставьте свой код в начало метода. (Требуется небольшая доработка остального кода.) Код можно переписать во время загрузки класса с помощью Java Agent API.

Имея это в виду, IMO для тестирования вам гораздо лучше разделить на более мелкие классы, и ваш шов будет бесплатным.

person Tom Hawtin - tackline    schedule 03.02.2013