ClassFileTransformer
ASM を使用して javaagent を実装しました。いくつかのバグがあるため、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 に自分の操作したバージョンを使用させることができるかということです。それとも、何かを完全に見逃していますか?