相关疑难解决方法(0)

模拟Mockito 2的最后一堂课

我正在从我正在进行的项目中删除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文件.这是我项目的树:

  • 项目
    • SRC
      • com.packagePath.myPackage
        • 我的课
    • 测试
      • com.packagePath.myPackage
        • myClassToTest
      • 资源
        • 的Mockito的扩展
          • org.mockito.plugins.MockMaker

我还尝试将"resources"目录放在"src"中,在一个名为"test"的子目录中,但结果仍然相同.

我认为用Mockito v2嘲笑决赛是可能的.有人知道这里缺少什么吗?

谢谢!

java unit-testing mockito

16
推荐指数
5
解决办法
3万
查看次数

如何使用Mockito2在java/androidTest下模拟Final Clases?

在此输入图像描述我在gradle中定义时,可以在java/test下模拟最终类:

testCompile"org.mockito:mockito-inline:+"

如何在java/androidTest下模拟final类?此解决方案不起作用:

androidTestCompile"org.mockito:mockito-android:+"

你有什么想法?

testing android final class mockito

6
推荐指数
1
解决办法
1776
查看次数

标签 统计

mockito ×2

android ×1

class ×1

final ×1

java ×1

testing ×1

unit-testing ×1