我试图提高我的分支覆盖率,并模拟Logger来检查“isDebugEnabled”的两种情况。
下面是我的测试用例:
@Test
public void testLogger() {
try (MockedStatic<LoggerFactory>
loggerFactoryMockedStatic = mockStatic(LoggerFactory.class)) {
Logger logger = mock(Logger.class);
loggerFactoryMockedStatic.when(() -> LoggerFactory.getLogger(any(Class.class))).thenReturn(logger);
when(logger.isDebugEnabled()).thenReturn(Boolean.FALSE);
Response res = endpoint.check();
}
}
但是当我将调试设置为启用时,它会导致“UnnecessaryStubbingException”。
你知道我该怎么做吗?
1条答案
按热度按时间zazmityj1#
为测试配置启用相应的调试日志记录。
您可以考虑使用所有可用的日志记录级别分别运行所有测试,例如warning-/info-/trace-enabled等,这可能是扩展测试的一部分。然后合并所有日志结果和覆盖率以进行报告。