java - 使用 mockito 对构造函数进行单元测试

标签 java unit-testing mockito

我有一节课。

Class First {

    private Second second;

    public First(int num, String str) {
        second = new Second(str);
        this.num = num;
    }

    ... // some other methods
}

我想为 First 类的公共(public)方法编写单元测试。我想避免执行 Second 类的构造函数。

我这样做了:

Second second = Mockito.mock(Second.class);
Mockito.when(new Second(any(String.class))).thenReturn(null);
First first = new First(null, null);

它仍在调用 Second 类的构造函数。如何避免?

最佳答案

您可以使用 PowerMockito

See the example:

Second second = Mockito.mock(Second.class);
whenNew(Second.class).withNoArguments().thenReturn(second);

但重构是更好的决定。

关于java - 使用 mockito 对构造函数进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11214136/

相关文章:

angular - Http错误响应: Http failure response for api url jasmine test

php - 在 TestSuite 期间停止 Phpunit 执行

unit-testing - 如何在 Dart/Flutter 上的测试中导入测试实用程序文件

java - Mockito、Java 9 和 java.lang.ClassNotFoundException : sun. reflect.ReflectionFactory

Java getFloat 问题 - 小数被截断

java - 从 .txt 文件中提取所有日期

java - 使用对象时 protected 访问

java - 将 JavaFX2 导出到 Android

java - AWS Secret Manager 的模拟测试 - Java

java - 使用mockito、ioC和 Autowiring 测试服务