首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Mockito中存根默认值

在Mockito中,存根默认值是指在模拟对象中为方法设置默认返回值。Mockito允许您为模拟对象中的方法设置默认返回值,这样当调用这些方法时,就不需要为每个方法单独设置返回值。这可以简化测试代码,并使其更具可读性。

Mockito提供了两种方法来存根默认值:

  1. 使用Mockito.mock()方法创建模拟对象时,通过MockSettings对象设置默认返回值。
代码语言:java
复制
import org.mockito.Mockito;
import org.mockito.stubbing.Answer;

public class MockitoExample {
    public interface MyService {
        String getName();
        int getAge();
    }

    public static void main(String[] args) {
        MyService myService = Mockito.mock(MyService.class, Mockito.withSettings()
                .defaultAnswer(Mockito.CALLS_REAL_METHODS)
                .defaultAnswer(new Answer<Object>() {
                    @Override
                    public Object answer(InvocationOnMock invocation) throws Throwable {
                        if (invocation.getMethod().getName().equals("getName")) {
                            return "defaultName";
                        } else if (invocation.getMethod().getName().equals("getAge")) {
                            return 0;
                        } else {
                            return null;
                        }
                    }
                }));

        System.out.println(myService.getName()); // 输出 "defaultName"
        System.out.println(myService.getAge()); // 输出 0
    }
}
  1. 使用Mockito.when()方法为模拟对象中的方法设置默认返回值。
代码语言:java
复制
import org.mockito.Mockito;

public class MockitoExample {
    public interface MyService {
        String getName();
        int getAge();
    }

    public static void main(String[] args) {
        MyService myService = Mockito.mock(MyService.class);

        Mockito.when(myService.getName()).thenReturn("defaultName");
        Mockito.when(myService.getAge()).thenReturn(0);

        System.out.println(myService.getName()); // 输出 "defaultName"
        System.out.println(myService.getAge()); // 输出 0
    }
}

在这两种方法中,第一种方法允许您为模拟对象中的所有方法设置默认返回值,而第二种方法则允许您为每个方法单独设置默认返回值。

推荐的腾讯云相关产品:

  • 腾讯云云服务器:提供高性能、高可靠的云服务器,支持一键部署Mockito应用程序。
  • 腾讯云容器服务:支持快速部署、运行和管理Docker容器,可以方便地部署和运行Mockito应用程序。
  • 腾讯云API网关:帮助您实现API的管理、安全、访问控制和监控,可以方便地与Mockito应用程序集成。

产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券