mockk使用的一个坑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32768743/article/details/88342736

遇到mockk的一个坑
如果使用@RelaxedMockK注解,默认会给所有用到的方法mock,但是这个mock的结果可能不像自己想的那样美好,比如我有这样的一段调用

OrderDetailDTO orderDetailDTO = orderService.getOrderDetailDTOByOrderId(order.getOrderId());

我忘了手动mock,结果导致


        List<OrderItemDTO> orderItemDTOList = orderDetailDTO.getOrderItemDTOList();
        if (!CollectionUtils.isEmpty(orderItemDTOList)) {
        	// xxx代码
        }

这一段执行了,但是调试器显示orderItemDTOList为空,最后导致

            List<OrderItemVO> productVOList = orderItemDTOList.stream()
                    .filter(Objects::nonNull)
                    .collect(Collectors.toList());

这样的代码总是报无法转换为List,非常烦恼,且找不到错误源
最后,手动把所有调用方法,有返回值的地方mock了,才解决

猜你喜欢

转载自blog.csdn.net/qq_32768743/article/details/88342736