package com.android_textbook.learnjunit.util; import java.lang.reflect.Field; public class TestUtil { /** * リフレクションを用いてフィールドに値を設定します。 * * @param target 対象となるオブジェクト * @param fieldName フィールド名 * @param value 設定する値 */ public static void setValue(Object target, String fieldName, Object value) throws NoSuchFieldException, IllegalAccessException { Field field = target.getClass().getDeclaredField(fieldName); field.setAccessible(true); field.set(target, value); } /** * リフレクションを用いてフィールドから値を取得します。 * * @param target 対象となるオブジェクト * @param fieldName フィールド名 * @return フィールドの値 */ public static Object pickValue(Object target, String fieldName) throws NoSuchFieldException, IllegalAccessException { Field field = target.getClass().getDeclaredField(fieldName); field.setAccessible(true); return field.get(target); } }