如何用mockito在java测试中模拟kotlin单例函数调用?

eqzww0vc  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(118)

通常,当我需要模拟静态方法时,我会执行以下操作:

@Mock
 MockedStatic<AdOptions> adOptionsMockedStatic;

@BeforeEach
void beforeEach(){
   adOptionsMockedStatic.when(() -> AdOptions.getFactory(any())).thenReturn(adOptionsFactoryMock);
}

我在那个项目中有一个kotlin singleton,我可以通过 InterstitialAdCallbackAndListeners.INSTANCE.method() 我找不到一个方法来模拟返回的方法,我尝试了这个没有成功

@Mock
        MockedStatic<InterstitialAdCallbackAndListeners> interstitialAdCallbackAndListenersMockedStatic;

@BeforeEach
void beforeEach(){
   adOptionsMockedStatic.when(() -> AdOptions.getFactory(any())).thenReturn(adOptionsFactoryMock);
}

它不会触发任何生成问题,但会在运行时崩溃:
org.mockito.exceptions.misusing.invalidUseofMatcherException:此处检测到错误放置或误用的参数匹配器:

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题