私は JUnit と Javassist について非常に浅い理解を持っていますが、それらを使用してプログラム分析を行いたいだけです。たとえば、ライブラリが与えられた場合、ランタイム中にライブラリ内のどのメソッドが呼び出されたかを知りたいとします。バイトコード操作を使用して system.out.println("method_name"); を挿入できます。メソッドの先頭にあるステートメント。そのため、実行時に、呼び出されたメソッドが出力されます。
スタンドアロン アプリケーションでは、main() が呼び出される前にインターセプトして、独自のクラス ローダーを使用できます (以下を参照)。ただし、JUnit には main() がありません。この状況でインターセプトする方法を教えてもらえますか? どうもありがとう。
...
Loader loader = new Loader( pool );
loader.addTranslator( pool, xlat );
loader.run( className, args );
...
編集:JUnit 4.8とJavassist 3.15.0.GAを使用しています