Wprowadziłem ClassFileTransformer
dla javaagenta używającego ASM. Ponieważ ma kilka błędów, chcę napisać dla niego test JUnit. Jak mam to zrobic?Jak przetestować ClassFileTransformer/javaagent?
Korzystanie pseudokod Myślałam wzdłuż linii:
// 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());
Teraz pytanie brzmi: Jak mogę ręcznie załadować i przekształcić obiekt i zrobić JVM/ClassLoader używać manipulować wersję tego? Czy mogę całkowicie coś przeoczyć?