java .lang.AssertionError: Поля не соответствуют ожидаемым: com.model.CleanUpScript $ Тип <PRE>, но было: java .lang.String <PRE> - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь написать Junit для класса enum, чтобы увеличить охват кода Java, где мой класс

@Data
public class CleanUpScript {

    public CleanUpScript(@NonNull String type, @NonNull String name) {
        if(type.isEmpty() || name.isEmpty()) {
            throw new IllegalArgumentException();
        }
        this.type = Type.valueOf(type.toUpperCase());
        this.name = name;
    }
}

, и я пишу Junit для методов получения и установки для свойства типа, как,

public class CleanUpScriptTest {
    private CleanUpScript cleanUpScript;

    @Before
    public void setUp() throws Exception {
        cleanUpScript= new CleanUpScript("pre","post");
    }

    @After
    public void tearDown() throws Exception {
        cleanUpScript = null;
    }

    @Test
    public void testGetTypeForNonEmptyValue() throws NoSuchFieldException, IllegalAccessException {
        Field field = cleanUpScript.getClass().getDeclaredField("type");
        field.setAccessible(true);
        final Type result = cleanUpScript.getType();
        System.out.println(result);
        assertEquals("Fields not retrived", result, "PRE");
    }

    @Test
    public void testSetTypeForNonEmptyValue() throws NoSuchFieldException, IllegalAccessException {
        Field field = cleanUpScript.getClass().getDeclaredField("type");
        field.setAccessible(true);
        final Type result = cleanUpScript.getType();
        System.out.println(result);
        assertEquals("Fields didn't match", result, "PRE");
    }

пока я пытаюсь сделать это, получая ниже assertionError

java.lang.AssertionError: Fields didn't match expected:
com.model.CleanUpScript$Type<PRE> but was: java.lang.String<PRE>

Как я могу решить эту проблему?

...