我知道如果我需要模拟一个静态方法,这表明我的设计有一些问题,但就我而言,这似乎不是设计问题。
BundleContext bundleContext = FrameworkUtil.getBundle(ConfigService.class).getBundleContext();
这里 FrameworkUtil 是一个存在于 api jar 中的类。在代码中使用它不是设计问题。
我的问题是在运行这条线时
FrameworkUtil.getBundle(ConfigService.class);
返回 null 所以我的问题是,有什么方法可以在运行时替换该 null 我正在使用 Mockito 框架,而我的项目不允许我使用 powermock。
如果我使用
doReturn(bundle).when(FrameworkUtil.class)
这样 getBundle 方法是不可见的,因为它是一个静态方法。