Я реализовал ClassFileTransformer
для javaagent, используя ASM. Поскольку в нем есть ошибки, я хочу написать для него тестовый пример JUnit. Как мне это сделать?
Используя псевдокод, я думал примерно так:
// Have a test class as subject
public static class Subject {
public void doSomething(){...}
}
// Manually load and transform the subject
...?
// Normally execute some now transformed methods of the subject
new Subject().doSomething();
// Check the result of the call (i.e. whether the correct attached methods were called)
Assert.assertTrue(MyClassFileTransformer.wasCalled());
Теперь вопрос: как мне вручную загрузить и преобразовать тему и заставить JVM/Classloader использовать мою измененную версию? Или я что-то совсем упускаю?