Mockito mock return null



我有这个代码,但它不起作用。excelGenerationService。generateExcel总是返回null。我完全被这个问题难住了。有人能帮帮我吗?注意,sxssfWorkbook不为空。

SXSSFWorkbook sxssfWorkbook = getTestExcelFile();
doReturn(sxssfWorkbook).when(excelGenerationService).generateExcel(any(ReportingTemplate.class), anyList(), anyList(), anyList(), anyString(), anyString(), anyBoolean(), anyBoolean(), anyString(), anyBoolean());

问题是anyString()不匹配null值。我将方法的参数从null设置为string,现在它运行得很顺利。

也可以使用public static T nullable(类)

  • 在服务上使用@InjectMocks和@Spy Annotation,这样你就有了一个模拟对象

    @InjectMocks@SpyExcelGenerationService ExcelGenerationService;

  • generateExcel(any(ReportingTemplate.class)),将其更改为any(),您可能会在这里收到模拟对象。

编辑1:将@Mock替换为@ injectmock和@Spy