最近、既存コードのテストコードを書きまくっています。 その中で、Easymock(classExtension)などを用いてMock化している場合に、 finalクラスをMock化できず困っていました。 何かいい方法がないかなと思っていたらhudsonの開発者である川口さんが jaavassistを利用してfinalを除去しているという記事があり、 なるほどと思って自分もその方向で対応を行うことにしました。 その際に「なぜテストを書くのか」「どうしてそんな書き方をするのか」 ということを色々考えていたので、簡単に脳みそを整理してみます。 バイトコードが使われるとき 主にフレームワーク内部やIDEで利用されている技術と聞いています。 つまり大多数の一般的な開発者には使われないという認識です。 なぜテストにおいてバイトコード操作やリフレクションを使うのか 私の主観としては、リフレクションやバイ

