Я пытаюсь написать 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>
Как я могу решить эту проблему?