首页 > 其他分享 >PowerMock spy基本使用

PowerMock spy基本使用

时间:2025-01-06 14:29:32浏览次数:3  
标签:基本 spy PowerMockito add bcdService PowerMock BcdService mock

  • 测试代码
public class BcdService {

    public int add(int a, int b) {
        return a + b;
    }
}
  • mock
  @Test
    public void testAdd() throws Exception {
        BcdService bcdService = PowerMockito.mock(BcdService.class);
        PowerMockito.whenNew(BcdService.class).withNoArguments().thenReturn(bcdService);
        //PowerMockito.when(bcdService.add(1, 2)).thenReturn(5);
        PowerMockito.doReturn(6).when(bcdService).add(1, 2);
        System.out.println(bcdService.add(1, 2));
    }
  • spy 创建一个被监视的对象,对其行为进行监控修改
/**
     * PowerMockito.spy mock目标对象的部分返回,实际可以调到真正的方法,只不过改变了方法的返回结果(改变部分实现)
     * PowerMockito.mock mock调不到正真的方法,除非BcdService bcdService=new BcdService();
     */
    @Test
    public void testAddSpy() {
        BcdService bcdService = PowerMockito.spy(new BcdService());
        PowerMockito.when(bcdService.add(1, 2)).thenReturn(4);
        System.out.println(bcdService.add(1, 2));
    }

标签:基本,spy,PowerMockito,add,bcdService,PowerMock,BcdService,mock
From: https://blog.csdn.net/baidu_34848066/article/details/144962571

相关文章

  • 【k8s基础】k8s 基本使用
    介绍及教程大全Kubernetes中文文档结构模型k8s是经典的一对多模型,有一个主要的管理节点master和许多的工作节点slaver。当然,k8s也可以配置多个管理节点,拥有两个以上的管理节点被称为高可用。k8s包括了许多的组件,每个组件都是单运行在一个docker容器中,然后通过自己规划的虚......
  • ​SQLite​的下载与安装(简洁版),附带建表和四个基本的增删改查语句
    1.下载SQLite安装包SQLiteDownloadPage下载后解压执行sqlite3.exe2.创建数据库.open[路径+数据库名字]【Tips:没有找到指定的数据库文件则会默认创建】.openckk.db3.建表和四个基本的增删改查语句数据类型常用的有:int整形、real浮点数、text文本、blob......
  • 安卓笔记2——kotlin不写必忘的基本语法
    说明可能会忍不住说一些C#和Rust相关的事情,但这是个人笔记,允许先入为主,节外生枝。下文的最优写法只是相对于上下文环境关键字、语法(糖)一行代码省略函数体有点像C#的属性get函数写法的=>funlargerNumber(num1:Int,num2:Int):Int=max(num1,num2)推导后可省略返回......
  • 嵌入式linux系统中CMake的基本用法
    第一:CMake的基本使用在上篇文章中,我们聊了聊Makefile。虽然它是C/C++项目编译的“老司机”,但写起来真的是让人头大。尤其是当项目文件一多,手写依赖就像在搬砖,费时又费力。那么问题来了,难道我们就没有更优雅的工具了吗?答案是:有!这时候,CMake就像一个专业的项目管家,它会帮......
  • liunx基本命令(2)
    命令(续1.2日内容)5.mkdir命令功能:创建文件夹语法:mkdir[-p]参数参数:被创建文件夹的路径选项:-p,可选,表示创建前置路径【递归创建-级联创建】6.touch命令功能:创建文件语法:touch参数参数:被创建的文件路径和名称7.rmdir......
  • 华为-eNSP-IPV6静态路由知识点与基本配置
    什么是IPV6?  IPv6(InternetProtocolVersion6)是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。IPv6的主要目的是解决IPv4网络地址资源不足的问题,同时也解决了多种接入设备连入互联网的障碍。IPV6的特点?1.巨大的地址空间:IPv6的地址长度为128位,理论上可以提供2^......
  • 一次性搞懂什么是AIGC!(一篇文章22个基本概念)
    全新的时代,AIGC(ArtificialIntelligenceGenerativeContent,即人工智能生成内容)正在重新塑造着内容创作生态。当常识能被机器识别,当艺术被重新定义,当创意不再需要人工,广告营销行业将迎来一场生产变革巨浪。数英将持续聚焦AIGC领域,通过资讯分享、认知科普、方法总结、深度访......
  • 2024秋季学期 马克思主义基本原理
    思维导图这玩意还没整理好,后面好了应该会更新上来期末小论文这玩意理论上不应该分享出来的,但我感觉我这次写的怪好的,想给大家看看()正好老师要求提交手写版,所以说我就提供一份手写扫描版的供大家看看,电子版就不提供了......
  • Git 的基本概念和使用方式。
    Git是一个版本控制系统,用于跟踪文件和代码的变化,以便多人协作开发和版本管理。这里整理了一些基本概念以及使用方式。1.仓库(Repository):仓库是存放代码和文件的地方,可以是本地仓库(在本地计算机上)或远程仓库(在服务器上)。一个仓库可以有多个分支。2.分支(Branch):分支是指在仓库......
  • caliburn.micro的基本使用
    第一步:创建一个wpf应用第二步,nuget包搜索Caliburn.Micro,我选择了4.0.173版本第三步,确定自己的结构myapp-app.xmal-bootstrapper-Views/-ShellView-ViewModels/-ShellViewModel创建Bootstrapper,代码如下publicclassBootstrapper:BootstrapperBase{p......