He creado una prueba para mi controlador y servicio usando Mockito. Mientras que el uso de Java 8 todo está bien, pero después de la migración a Java 11, tengo este error. Tal vez alguien puede ayudar a solucionar este examen?
public class ConfigurationControllerTest {
@Mock
private ConfigurationService configurationService;
@InjectMocks
private ConfigurationController controller;
private MockMvc mockMvc;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders
.standaloneSetup(controller)
.build();
}
@Test
public void find() throws Exception {
//given
final ConfigurationsDto configDto = mock(ConfigurationsDto.class);
given(configurationService.find(any())).willReturn(Arrays.asList(configDto));
//when and then
mockMvc
.perform(get("/config/1.0.0/")
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
}
Después de correr, me recived https estado 500 y error:
[Principal] ERROR app.controllers.global.AdviceController - No serializador encontró para la clase org.mockito.internal.debugging.LocationImpl y no hay propiedades descubrió para crear BeanSerializer (a excepción EVITAR, SerializationFeature.FAIL_ON_EMPTY_BEANS desactivar) (a través de cadena de referencia: java. util.Collections $ SingletonList [0] -> app.dtos.ConfigurationsDto $ MockitoMock $ 534475,338 mil [ "mockitoInterceptor"] -> org.mockito.internal.creation.bytebuddy.MockMethodInterceptor [ "mockHandler"] -> org.mockito.internal.handler .InvocationNotifierHandler [ "invocationContainer"] -> org.mockito.internal.stubbing.InvocationContainerImpl [ "invocationForStubbing"] -> org.mockito.internal.invocation.InvocationMatcher [ "invocación"] -> org.mockito.internal.invocation.InterceptedInvocation ["ubicación"])
Por supuesto, agrego la dependencia necesaria en pom:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.23.4</version>
</dependency>
Puedo solucionar esta prueba con objeto real no es burlado de dto