我试图从FileObject.java
类模拟Touri()
方法(该类属于org.openide.filesystems
包)。
方法声明如下所示:
public final URI toURI() {
// Compiled code
}
到目前为止,我有了以下测试代码:
@Test
public void test() throws Exception {
String myUrl = "http://stackoverflow.com";
URI myURI = new URI(myUrl);
FileObject mocked = Mockito.mock(FileObject.class);
Mockito.when(mocked.toURI()).thenReturn(myURI);
assertEquals(myURI, mocked.toURI());
}
但是,当我运行测试时,它在mockito.when(mocked.touri()).thenreturn(myURI);
行中崩溃,出现以下错误:
有人知道这里出了什么问题吗?
这个问题的发生是因为这是一个最终的方法。
因为Mockito2.1.0可以模拟final方法/类。来自Mockito文档:
很长一段时间以来,当Mockito拒绝模拟一个最后的类时,我们的用户感到难以置信。对最终方法的嘲弄甚至更成问题,导致框架出现令人惊讶的行为,并产生愤怒的故障排除。缺乏嘲讽决赛是Mockito自2007年成立以来的一个主要限制(...)它可以通过创建文件src/test/resources/mockito-extensions/org.mockito.plugins.mockmaker来通过mockito扩展机制完成
并且mockito将能够模拟最终方法。
无法找出正确的方法来使用匹配器来识别我要处理的exchange方法的重载。我正在打的电话:
我不知道我的代码出了什么问题,我的静态方法都不能被 Mockito 嘲笑...... 我检查了几个小时,似乎我的代码没有任何错误。 下面是依赖性: 下面是静态方法: 下面是测试类: 运行测试后,我得到了这个异常:
本文向大家介绍JavaScript实现模仿桌面窗口的方法,包括了JavaScript实现模仿桌面窗口的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现模仿桌面窗口的方法。分享给大家供大家参考。具体如下: 这里使用JS模仿了桌面窗口的移动、八个方向的缩放、最小化、最大化和关闭,以及 双击缩小放大窗口、改变窗口大小的预览效果等功能。 希望本文所述对大家的javasc
本文向大家介绍Android实现模仿UCweb菜单效果的方法,包括了Android实现模仿UCweb菜单效果的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现模仿UCweb菜单效果的方法。分享给大家供大家参考。具体如下: UCWeb的菜单看起来不错,自己模仿做一个,思路实现如下: 1、保留menu按键作用 2、用popupwindow作为菜单显示容器 3、用GridV
问题内容: 编辑:我改变了一些例子,以获得想法: 喜欢 …而无需创建公共接口并为Integer和Float创建子类来实现它 如果没有,类似这样的东西可能会更有意义并且有用 如果呢?是一个通配符,为什么我们不应该限制某些类型? 问题答案: 在非常极端的情况下(没有的Java 7之前的版本),我也希望能够做到这一点。例如 不管实际的类型是什么,这都允许我打电话。换句话说,将包含所有提供的类型的“ AP
我试图用Mockito 1.9.5模拟一个类,但是我很难让它工作。 我写了我的测试样板: ...并得到一个长的< code>ClassCastException: 线程“main”java.lang.ClassCastException中的异常:org.mockito.internal.creation.jmock.ClassImposterizer$ClassWithSuperclassToWo