【发布时间】:2018-01-22 22:49:50
【问题描述】:
我有一个名为 RadiationControl 的类,我通过以下方式为它创建了一个间谍。
RadiationControl radCtrl = new RadiationControl();
RadiationControl spyRadCtrl = Mockito.spy(radCtrl);
我在另一个名为 StationMonitor 的类中有一个链式方法调用,该类是通过使用 RadiationControl 对象调用的。当我尝试使用上面创建的间谍并尝试访问具有方法参数的间谍时,它们会不时变化。
StationMonitorObject stationMonitorObject = radCtrl.getStationMonitorLoader().retrieveCVStationMonitorObject(Long.parseLong(syngId), status);
因此,当我尝试为该方法调用存根间谍时,使用上述语法时,它会抱怨正确存根。
StationMonitorLoader stationMonitorLoader = StationMonitorLoader.getLoader(domain);
Mockito.doReturn(stationMonitorLoader).when(spyRadCtrl).getStationMonitorLoader();
Mockito.doReturn(stationMonitorObject).when(stationMonitorLoader).retrieveCVStationMonitorObject(any(Long.class), null);
有没有更好的方法来处理这种情况?
【问题讨论】:
-
“它抱怨存根正确”是什么意思?您是否收到某种错误消息?在运行时还是编译时?另外,
stationMonitorLoader是什么?另一个间谍或模拟?