将mockito与Java 11一起使用时未找到序列化程序

将mockito与Java 11一起使用时未找到序列化程序,java,mockito,java-11,Java,Mockito,Java 11,我使用mockito为我的控制器和服务创建了一个测试。虽然我使用Java8,但一切都正常,但在迁移到Java11之后,我出现了这个错误。也许有人能帮我解决这个测试 public class ConfigurationControllerTest { @Mock private ConfigurationService configurationService; @InjectMocks private ConfigurationController contr

我使用mockito为我的控制器和服务创建了一个测试。虽然我使用Java8,但一切都正常,但在迁移到Java11之后,我出现了这个错误。也许有人能帮我解决这个测试

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());
    }
}
运行后,我收到https状态500和错误:

[main]ERROR app.controllers.global.AdviceController-找不到类org.mockito.internal.debugation.LocationImpl的序列化程序,也找不到创建BeanSerializer的属性(为避免异常,请禁用空bean上的SerializationFeature.FAIL_)(通过引用链:java.util.Collections$SingletonList[0]->app.dtos.ConfigurationsDto$MockitoMock$534475338[“mockitoInterceptor”]->org.mockito.internal.creation.bytebuddy.MockMethodInterceptor[“mockHandler”]->org.mockito.internal.handler.InvocationNotifierHandler[“invocationContainer”]->org.mockito.internal.stubing.InvocationContainerImpl[“InvocationForStubing”]->org.mockito.internal.invocation.InvocationMatcher[“invocation”]->org.mockito.internal.invocation.InterceptedInvocation[“location”])

当然,我在pom中添加了所需的依赖项:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>2.23.4</version>
</dependency>

org.mockito
莫基托磁芯
2.23.4

我使用real object not Mock dto修复了这个测试

只是为了兼容性,你应该检查基本的byte buddy版本,我想应该是1.9.0。只需确保使用直接依赖项并确认其是否有效。检查,仍然没有任何更改…尝试将jackson库升级到2.9.7我有2.9.7 for jackson数据绑定和jackson注释请粘贴ObjectMapper/ObjectBuilder配置您可以接受自己的答案,我不同意,如果我只想使用模拟DTO怎么办。通常在测试环境中,我们不使用真正的对象。