ユニットテストでSpringのReflectionTestUtilsを使うと便利です

1118 ワード

1概要ReflectionUtilsSpringの中でよく使われるクラスで、spring-coreパッケージに属している.ReflectionTestUtilsspring-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は小さなツールクラスで、必要に応じて自然にメリットを感じます.