lundi 24 février 2020

How to use Mockito, when i want to test my LoggerUtils.class

I have this LoggerUtils class, and i want to create a unitest with mockito, that test that given object have been logged (lets sat that the object is a string).

package utils.tools;

import java.lang.reflect.Field;
import java.util.Arrays;

public class LoggerUtils {
    public static String parmString(Object obj) {
        StringBuilder sb = new StringBuilder();
        sb.append(obj.getClass().getSimpleName())
                .append(": {\n");
        try {
            Field[] fields = obj.getClass().getDeclaredFields();
            for (int i = 0; i < fields.length; i++) {
                Field f = fields[i];
                f.setAccessible(true);

                Object toAppend;
                if(f.get(obj) instanceof String[]) {
                    toAppend = Arrays.toString((String[]) f.get(obj));
                } else {
                    toAppend = f.get(obj);
                }

                if(i != fields.length-1)
                    sb.append(String.format("    %s : '%s';%n", f.getName(), toAppend));
                else
                    sb.append(String.format("    %s : '%s'%n", f.getName(), toAppend));
            }
        } catch (IllegalAccessException e) {
            return obj.getClass().getSuperclass().toString();
        }
        sb.append("}");
        return sb.toString();
    }
}

Aucun commentaire:

Enregistrer un commentaire