我模拟了Jsch()类,并在下面的方法中获得了类强制转换异常。
原始方法。
JSch jsch = getSftpJsch();
session = jsch.getSession(sessionObj);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
LOGGER.info("sfg channel opened and connected.");
channelSftp = (ChannelSftp) channel;
channelSftp.cd(inboundPath);
Vector<ChannelSftp.LsEntry> list = channelSftp.ls(filePattern);
联机获取Mockito异常。
channelSftp = (ChannelSftp) channel;
例外情况:
java.lang.ClassCastException:com.jcraft.jsch。频道$MockitoMock$1983492043不能转换为com.jcraft.jsch.ChannelSftp
测试用例调用方法。
@Mock(answer = Answers.RETURNS_MOCKS)
private JSch mockJsch;
private AppUtils sftp = new AppUtils(){
@Override
JSch getSftpJsch() {
return mockJsch;
}
};
@Test
public void tetsGetFileList(){
sftp.getFileList(folderPath, fileName, charEncoding);
}
问题在于@Mock(answer=Answers.RETURNS_MOCKS)
负责为每个调用创建一个Mock。包括通道=会话开放通道(“sftp”)
。
因此Channel
现在包含Channel
基类的一些模拟子类型。这就是强制转换失败的原因。
因此,模拟这一点的稍长方法是:
@Mock
private JSch mockJsch;
@Mock
private Session session;
@Mock
private ChannelSftp channel;
@Before
public void setUp() {
Mockito.when(mockJsch.getSession(Mockito.any())).thenReturn(session);
Mockito.when(session.openChannel(Mockito.any())).thenReturn(channel);
}
private AppUtils sftp = new AppUtils(){
@Override
JSch getSftpJsch() {
return mockJsch;
}
};
@Test
public void tetsGetFileList(){
sftp.getFileList(folderPath, fileName, charEncoding);
}
例外情况: java.lang.ClassCastException:com.interconnect.library.gcm.util.checkplayServices(util.java:96),com.interconnect.library.gcm.regiseter.handleRegister(regiseter.java:53),com.interconnect.library.g
我想在ViewPager中的片段中设置一些TextViews。当我的片断实例化页面时,我正在它的onActivityCreated函数中设置我的TextViews。根据一些帖子,在getItemPosition中返回POSITION_NONE解决了我的问题,但因为每次都要删除所有视图,所以这不是一个有效的方法。所以我将它改为instatiateItem(ViewGroup container,in
问题内容: 尝试将结果集强制转换为映射类时,我收到了hibernate类的类强制转换异常…我能够查看返回的结果集中的数据…但是它以Object []的形式返回我可以将Object []设置为List …我可以正确地进行hibernate映射吗?我从查询中获取了正确的数据,但映射不正确… 映射 映射类 参加班 主要 问题答案: 对于测试,我建议您在产生类强制转换异常的语句周围放置一个try-catc
调用AffineTransform: 它驻留在自定义形状类(YingYang)中。 当我进行调用时,当我试图从绘图面板或在类本身(如果我将返回类型更改为YingYang)中将它转换回一个YingYang时,我会得到一个类转换异常。 java.lang.ClassCastException:java.awt.Geom.Path2D$Double不能强制转换为Animation.Yingyang 任何
线程“main”java.lang.ClassCastException:java.base/jdk.internal.loader.ClassLoaders$AppClassLoader不能强制转换为java.base/java.net.urlClassLoader(位于org.springframework.boot.devtools.restart.defaultrestartinitial
我试图在Jython中创建和强制转换一个对象,收到以下错误: 代码如下: 就我的一生而言,我不知道我做错了什么。从我读过的所有东西来看,我似乎做得很正确,但我不能让它起作用。