java任务poer_java-Powermock-模拟超级方法调用

这是我的代码-

import org.junit.Test;

import org.junit.runner.RunWith;

import org.powermock.modules.junit4.PowerMockRunner;

import org.powermock.core.classloader.annotations.*;

import static org.powermock.api.support.SuppressCode.*;

class BaseService {

public int save() {

validate();

return 2;

}

public static int save2() {

return 5;

}

public void validate() {

System.out.println("base service save executing...");

}

}

class ChildService extends BaseService {

public int save() {

System.out.println("child service save executing...");

int x = super.save2();

int y = super.save();

System.out.println("super.save returned " + y);

load();

return 1 + x;

}

public void load() {

System.out.println("child service load executing...");

}

}

@RunWith(PowerMockRunner.class)

@PrepareForTest(BaseService.class)

public class PreventSuperInvocation {

@Test

public void testSave() throws Exception {

org.powermock.api.support.Stubber.stubMethod(BaseService.class,

"save2", 4);

suppressMethod(BaseService.class, "save");

ChildService childService = new ChildService();

System.out.println(childService.save());

}

}

我想在ChildService类中模拟super.save().但是我找不到做到这一点的方法. preventMethod()仅禁止并返回默认值(上述情况下为0).诸如MemberModifier,Stubber,MethodProxy之类的东西仅适用于静态方法.

有没有办法在Powermock中做到这一点?

我正在使用Powermock 1.5和Mockito 1.9.5.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2015 年度计划

2019独角兽企业重金招聘Python工程师标准>>> scala -> akka -> sparketcd 使用开源产品 negroni https://github.com/codegangsta/negroni转载于:https://my.oschina.net/kuerant/blog/372981

Mybatis 动态传sql可以查询表名,任意表名,不固定字段的个数返回未定义的类型以及增删改...

mysql查询表名: SELECT table_name FROM information_schema.tables WHERE table_schemasell AND table_typebase table;查询表中的字段: SELECT column_name FROM information_schema.columns WHERE table_schemasell AND table_nameseller_infoSpringB…

As3.0与java数据类型的比较总结

As3.0与java数据类型的比较总结 1. 在As3.0中所有的数据类型都是对象,都有自己的方法和属性; Java中的基本数据类型,其采取和C和C相同的方法。也就是不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储…

php透明颜色的代码,PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度

PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度imagecolorallocatealpha — 为一幅图像分配颜色和透明度。语法int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )imagecolorallocatealpha() 的行为和 imagecolor…

C语言goto关键字—尽量少用

一般来说,编码的水平与goto 语句使用的次数成反比。有的人主张慎用但不禁用goto语句,但我主张禁用。关于goto 语句的更多讨论可以参看Steve McConnell 的名著《CodeComplete. Second Edition》。 禁用goto 语句。自从提倡结构化设计以来,goto…

C#中使用Oracle 存储过程笔记

C#中使用Oracle 存储过程笔记1. 调用包含out/ in out类型参数的存储过程 存储过程: CREATE OR REPLACE PROCEDURE "SITE_EDITSITEDATAEXIST" (id_ number,name_ varchar2,httpRoot_ varchar2,flag out integer )//out 只具备输出功能 in out 为输入/输出型astempNum …

php网页生命周期函数,PHP的生命周期

PHP的生命周期php本身的生命周期是在命令行执行php test.php程序的生命周期(也就是cli)整个过程如下:执行php test.php调用每个扩展的模块初始化程序请求test.php程序调用每个扩展的请求初始化程序执行test.php程序调用每个扩展的请求关闭程序释放内存等清除工作调用…

为什么需要做归一化或者标准化

为什么需要做归一化或者标准化 一句话解释就是为了让我们求解loss最低值的过程中更加的平稳和缓,容易收敛。 具体解释可以看这里: 特征工程中的「归一化」有什么作用? - 忆臻的回答 - 知乎https://www.zhihu.com/question/20455227/answer/197897298 用我…

Windows on Device 项目实践 4 - 智能风扇制作

在前面的文章中,我们已经学习并且利用Intel Galileo开发板和Windows on Device制作了火焰报警器、感光灯和PWM调光灯。在这个项目中,我们来利用温度传感器和直流电机,完成一个简单的智能风扇的制作。 1. 温度传感器 LM35 是很常用且易用的温度…

Linux系统信息查看命令大全

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所…

php接口异常,api接口异常怎么办

异常:在程序开发过程中出现的不正常情况,就是异常。比如除数是0,参数为null,调用参数的成员变量或者方法,数组下标越界。异常分为两大类型:(1)Exception:程序员可以解决的:空指针&am…

并发编程5-同步器

Synchronizer 控制多个线程的流程,比如线程执行到某一个点的时候是等待还是通过。 JDK中自带了信号量,关卡,闭锁闭锁CoutDownLatch 达到最终状态前是关闭的,所有线程在此阻塞, 达到最终状态后开放,并且不可…

RE validation in Java EE

pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。 Pattern类中有两个最常用的方法&#xff1…

Apache Rewrite 规则详解

1、Rewrite规则简介: Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的(.htaccess) 两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apach…

php源码编程,10个小技巧让你做好php源码编程

PHP是目前使用最广泛的网站编程语言,也是今后发展的一大趋势。有很多站长或多或少掌握一些php编程方法,下面小编就介绍十点实用的php编码技巧。1、cho比print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接&…

iPhone与Android手机 各个型号的UserAgent

微信端模拟:Mozilla/5.0 (Linux; U; Android 4.1.2; zh-cn; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/5.2.380■iPhone●iOSMozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/…

动态调用WCF服务[转]

原文地址:http://blog.csdn.net/castlooo/archive/2010/05/06/5562619.aspx客户端调用wcf ,有时需要动态的调用服务端的WCF中的方法,本方法,反射wcf 的接口,动态调用接口中的方法。 主要为,动态绑定&#x…

java 正规 忽略,java-正则表达式查找变量并忽略方法

我正在尝试编写一个正则表达式,以查找给定一段JavaScript代码中的所有变量(并且只有变量,完全忽略方法).实际的代码(执行regex的代码)是用Java编写的.现在,我有这样的事情:Matcher matcherPattern.compile(".*?([a-z]\w*?).*?").matcher(string);while…

【吐槽】博客园新的原创文章在搜索引擎的排名不及转载的站点

最近写博客比较多,但发现文章被一些网站转载后,排名比博客园的链接还要高,有些搜索引擎甚至连博客园的链接都没有,坑爹,坑爹。。。 以前博客园的网友也遇到过类似的情况,也分享过一些防转载的经验&#xff…

Qt之程序发布以及打包成exe安装包

一、简述 Qt项目开发完成之后,需要打包发布程序,而因为用户电脑上没有Qt配置环境,所以需要将release生成的exe文件和所依赖的dll文件复制到一个文件夹中,然后再用 Inno Setup打包工具 打包成一个exe安装包,就可以发布了…