如何告诉 JUnit 跳过某些源代码行?
上下文:我正在编写一个 WebService,它使用 weblogic.logging.LoggingHelper 类来创建日志条目。
仅当代码在 weblogic 服务器上运行时,对此类的调用才有用。但是我想在本地测试代码,而不必一直取消注释日志语句以进行调试。
如何告诉 JUnit 跳过某些源代码行?
上下文:我正在编写一个 WebService,它使用 weblogic.logging.LoggingHelper 类来创建日志条目。
仅当代码在 weblogic 服务器上运行时,对此类的调用才有用。但是我想在本地测试代码,而不必一直取消注释日志语句以进行调试。
为了避免调用 LoggingHelper,您应该使用 mockito 之类的模拟框架,您可以在其中模拟 weblogic.logging.LoggingHelper 类并避免调用真实方法。
LoggingHelper lh = Mockito.mock(LoggingHelper.class);
when(lh.log(anyString()).thenReturn(...);
你不能。您必须使用像 ashoka 建议的模拟框架,或者您必须重写您的生产代码,以便您可以轻松地交换 LoggingHelper。