我正在从我正在进行的项目中删除Powermock,所以我试图仅用Mockito(mockito-core-2.2.28)重写一些现有的单一测试.
当我运行测试时,我有以下错误:
org.mockito.exceptions.base.MockitoException:
不能模拟/间谍类com.ExternalpackagePath.Externalclass
Mockito不能嘲笑/间谍,因为:
- 最后一堂课
我知道,这个问题已经被问(如何嘲弄与一的Mockito final类,调用final类与静态的Mockito方法Mock对象),但我没有找到我要找的答案.
这是我的代码的摘录:
public class MyClassToTest extends TestCase {
private MyClass myClass;
@Mock private Externalclass ext; // This class is final, I would like to mock it
@Override
protected void setUp() throws Exception {
MockitoAnnotations.initMocks(this); // <<<< The exception is thrown here
ext = Mockito.mock(Externalclass.class);
}
}
Run Code Online (Sandbox Code Playgroud)
由于文档的Mockito中提到(https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2,§Mock的unmockable),我增加了org.mockito.plugins.MockMaker文件.这是我项目的树:
我还尝试将"resources"目录放在"src"中,在一个名为"test"的子目录中,但结果仍然相同.
我认为用Mockito v2嘲笑决赛是可能的.有人知道这里缺少什么吗?
谢谢!