ユニットテストでSpringのReflectionTestUtilsを使うと便利です
1118 ワード
1概要
クラスを作成する必要があると仮定しますが、一部のメンバー変数はプライベートであり、共通の
2主な方法
オブジェクトのメンバー変数を取得するには、次の手順に従います.
オブジェクトにメンバー変数を入力:
メンバーメソッドの呼び出し:
3まとめ
ReflectionUtils
はSpring
の中でよく使われるクラスで、spring-core
パッケージに属している.ReflectionTestUtils
はspring-test
パックに属します.両者の機能には重複する点があり、ReflectionUtils
はより強力になります.ユニットテストでReflectionTestUtils
を使用すると、利便性が向上します.クラスを作成する必要があると仮定しますが、一部のメンバー変数はプライベートであり、共通の
setter
メソッドを提供していません.通常の初期化プロセスに従って、これらのメンバー変数を目的の値にすることはできません.この場合、クラスのプライベート変数を修正する方法が必要ですが、
は私たちを助けることができます.Spring
は、
に関連するツールクラス:ReflectionUtils
およびReflectionTestUtils
も提供しています.ここでは、ReflectionTestUtils
の一般的な機能のみを説明します.2主な方法
オブジェクトのメンバー変数を取得するには、次の手順に従います.
public static Object getField(@Nullable Object targetObject, String name)
オブジェクトにメンバー変数を入力:
public static void setField(Class> targetClass, String name, @Nullable Object value)
メンバーメソッドの呼び出し:
public static T invokeMethod(Object target, String name, Object... args)
3まとめ
ReflectionTestUtils
は小さなツールクラスで、必要に応じて自然にメリットを感じます.