我可以做些什么来使@Mock和@InjectMocks注释与Java 11一起使用吗?
不确定在Java7中为什么这对您有用,但是您显然以错误的方式使用了@InjectMocks
。
@InjectMocks
private ByVehicleIdRequest request = new ByVehicleIdRequest(
locale,
additionalInfo,
permissions,
switches,
vehicleId,
aftermarketDescriptions,
enhancedStringMatchingSettings);
如果使用Mockito运行器(或JUnit5中的扩展名,则不应自己初始化该字段:
@InjectMocks
private ByVehicleIdRequest request;
如MockitoJUnitRunner documentation中所述:
模拟在每种测试方法之前初始化。
如果在request
对象的字段初始化中使用模拟值,则会将尚未初始化的值传递给构造函数,因此会观察到空值。