开发者社区 问答 正文

在try-with-resources构造中如何定义Mockito的模拟静态方法?

在try-with-resources构造中如何定义Mockito的模拟静态方法?

展开
收起
花开富贵111 2024-06-20 14:49:06 125 分享 版权
1 条回答
写回答
取消 提交回答
  • 在try-with-resources构造中,你可以使用Mockito.mockStatic来定义Mockito的模拟静态方法。这允许你在try块内部使用模拟的静态方法,并确保在try块结束时自动关闭模拟。例如:

    @RunWith(MockitoJUnitRunner.class) 
    public class ContentServiceTest { 
    // ... 其他代码 ... 
    
    @Test 
    public void should_returnEmptyList_when_queryContentTags_given_invokeParams() throws Exception { 
    try (MockedStatic<TagHandler> tagHandlerMockedStatic = Mockito.mockStatic(TagHandler.class)) { 
    tagHandlerMockedStatic.when(() -> TagHandler.getSingleCommonTag(anyString())).thenReturn("testTag"); 
    // 省略单测方法具体实现 
    ... 
    } 
    // try块结束时,MockedStatic会自动关闭 
    } 
    }
    
    2024-06-20 15:19:24
    赞同 2 展开评论
问答地址: