模拟类的构造函数内的方法

Tap*_*dar 0 java junit constructor mockito

我是mockito新手。假设我有一堂这样的课

public class MyClass {
    int a;
    String b;
    public MyClass(int a) {
        this.a = a;
        this.b = draw();
        System.out.println("class is created");
    }

    public String draw() {
        System.out.println("my");
        return "b";
    }

    public void apple() {
        System.out.println("apple");
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Mockito 编写 JUnit 测试,其中使用构造函数创建该类的对象。当我安装类时是否可以模拟draw()方法?

Dmy*_*nko 6

不清楚为什么你需要Mockito这里。这是一个没有Mockito.

MyClass在您的测试中创建一个带有重写方法的实例draw()

final MyClass myClass = new MyClass() {
    @Override
    public String draw() {
        return "mock data";
    }
}

// Now test your class as you want
Run Code Online (Sandbox Code Playgroud)