Open
Description
Description
Mock of a parent class is created, which is then tried to be cast to the needed class.
To Reproduce
- Install -IU- UnitTestBot plugin in IntelliJ IDEA
- Open
spring-petclinic
- Generate ad Run
Unit tests
forPetValidator
withPetClinicApplication
Expected behavior
Mock of Pet.class
is expected to be used.
Actual behavior
Mock of NamedEntity.class
is created, and then cast to Pet
is made.
5 of 11 tests fail on ClassCastException
thrown from test code.
Screenshots, logs
@Test
@DisplayName("validate: errors.rejectValue(\"type\", REQUIRED, REQUIRED) : True -> ThrowNullPointerException")
public void testValidate_ThrowNullPointerException_2() {
MockedStatic mockedStatic = null;
try {
mockedStatic = mockStatic(StringUtils.class);
(mockedStatic.when(() -> StringUtils.hasLength(any(String.class)))).thenReturn(true);
PetValidator petValidator = new PetValidator();
NamedEntity objMock = mock(NamedEntity.class);
(when(objMock.getName())).thenReturn(((String) null));
(when(objMock.isNew())).thenReturn(true);
(when((((Pet) objMock)).getType())).thenReturn(((PetType) null));
/* This test fails because method [org.springframework.samples.petclinic.owner.PetValidator.validate] produces [java.lang.NullPointerException] */
petValidator.validate(objMock, null);
} finally {
mockedStatic.close();
}
}
Environment
IntelliJ IDEA version - Ultimate 2023.2
Project - Gradle
JDK - 17
Metadata
Metadata
Assignees
Type
Projects
Status
Todo