真夜中の雰囲気が好きなプログラマのブログ2008-04-24privateなものを強制的にアクセス!JavaJUnitで単体テストしているときに、getter/setterがなかったり、setterがprivateだったりしてテスト用の初期値を与えるのが難しい場面があったりする。そのprivateなメンバに対して強制的にアクセスする方法。このサイトを取っ掛かりにさせてもらいました。java.lang.reflection.AccessibleObjectクラスを利用すれば、したいことは出来るみたいですね。フィールドならFieldメソッドならMethodコンストラクタならConstructorJUnit-addonsっていうのにはこの機能を持つアドオンがあるみたいですが、個人的にはソース書いている方が好きなので...。AccessibleObjectクラスにも難点があるようです。AccessibleObject#setAccessible(boolean)私の場合、今回のテストでは問題なさそうではあるけれど、こういうリスクもあることを念頭に入れねばなさそう。(26)オフライン的な何か。(21)いやし的な何か。(1)スポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。