Как протестировать ClassFileTransformer / javaagent?

Я реализовал 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 использовать мою измененную версию? Или я что-то совсем упустил?

6
задан roesslerj 7 July 2011 в 08:40
поделиться