プログラミング

privateフィールドやprivateメソッドにアクセスしたい(JUnit)

JUnitでテストケース作っていて、困ったとこです。

だいぶ雑な解決法をメモしておきます。。。

■privateフィールドにアクセスしたい

http://dev.livetp.com/java/0304.html#3

■privateメソッドを実行したい

public void test() throws Exception {
//Testが対象クラス。testVoidが対象メソッド
Method method = Test.class.getDeclaredMethod("testVoid");

// trueをセットすることで、privateメソッドへアクセス可能となりす。
method.setAccessible(true);

// privateメソッドを実行します。
Test sample = new Test();

// 第二引数以降が、メソッドの引数です。
method.invoke(sample);

}

おしまい。

  • この記事を書いた人
  • 最新記事

-プログラミング

Copyright© FUJI日記 , 2024 All Rights Reserved.