Java Mockito.mockConstruction不会返回测试类中的模拟对象

Java Mockito.mockConstruction不会返回测试类中的模拟对象,java,junit,mockito,Java,Junit,Mockito,我正在尝试为一个用Java编写的android插件编写缺失的测试,该插件使用google的AdMob库 我尝试测试的函数有一个new AdView()调用,它返回null,即使在构造函数被模拟时也是如此,我不太清楚为什么 我尝试在测试威胁中创建一个新的AdView,它可以正常工作 这是当前的测试(它还没有任何断言,因为我正在尝试通过视图创建: @测试 当在选项()中指定时,公共无效npa请求标题{ sut=新的AdMob(); try(MockedStatic采用staticmocked=Moc

我正在尝试为一个用Java编写的android插件编写缺失的测试,该插件使用google的AdMob库

我尝试测试的函数有一个
new AdView()
调用,它返回
null
,即使在构造函数被模拟时也是如此,我不太清楚为什么

我尝试在测试威胁中创建一个新的
AdView
,它可以正常工作

这是当前的测试(它还没有任何断言,因为我正在尝试通过视图创建:

@测试
当在选项()中指定时,公共无效npa请求标题{
sut=新的AdMob();
try(MockedStatic采用staticmocked=Mockito.mockStatic(采用.class)){
AdoptionsStaticMock.when(AdOptions::getFactory)。然后返回(adOptionsFactoryMock);
try(MockedConstruction adViewMocked=Mockito.mockConstruction(AdView.class)){
Context-mockedContext=mock(Context.class);
AdView AdView=新AdView(模拟上下文);
sut.showBanner(pluginCallMock);
}
}
}
以及
showBanner
相关代码:

@PluginMethod
公共void showBanner(PluginCall调用){
if(mAdView!=null){
返回;
}
最终收养=收养
.getFactory()
.CreateBaneRoptions(调用);
如果需要,设置设备(收养。测试);
试一试{
mAdView=new AdView(getContext());//这会中断!不会返回模拟
setAdSize(adOptions.adSize.size);
mAdViewLayout=新的RelativeLayout(getContext());
mAdViewLayout.setHorizontalGravity(重力、中心和水平);
mAdViewLayout.setVerticalGravity(重力.底部);
//更多代码在这里。。。
}捕获(例外情况除外){
错误(例如getLocalizedMessage(),例如);
}
}
mAdView=newadview(getContext())
部分是代码中断的地方


有人能告诉我我做错了什么吗?

也许这有助于像我这样的Java电容器插件新手

问题是
getContext()
返回null…我所做的是:

@测试
当在选项()中指定时,公共无效npa请求标题{
sut=新的AdMob(){
@凌驾
公共上下文getContext(){
返回mockedContext;
}
};
try(MockedStatic采用staticmocked=Mockito.mockStatic(采用.class)){
AdoptionsStaticMock.when(AdOptions::getFactory)。然后返回(adOptionsFactoryMock);
try(MockedConstruction adViewMocked=Mockito.mockConstruction(AdView.class)){
Context-mockedContext=mock(Context.class);
AdView AdView=新AdView(模拟上下文);
sut.showBanner(pluginCallMock);
}
}
}