powermock跳过某方法_如何使用powermock验证内部方法调用?
我尝试使用powermockito通过验证内部
审计()
方法调用。
此内部呼叫由
审计师
对象中正在实例化的
()
类的方法。因为它没有注射,我不能直接模仿它。当我用mock i to验证它时,它总是说“与mock没有交互”。
问题:如何测试保存功能?请帮助!
public class DaoImpl implements Dao{
private Auditor auditor;
@InjectValue
private ObjectLoader loader;
@InjectValue
private ConfigurationProvider confProvider;
@PostConstruct
public void init() {
//Mock this object instantiation and verify audit is called once
auditor = new SyncAuditor(confProvider.getClientConfiguration(), new EventRegProvider());
}
@Override
public void save(final AuditEvt auditEvt) {
final AuditedEvent auditedEvent = builder.build();
auditor.audit(auditedEvent);
}
测试:
@RunWith(PowerMockRunner.class)
@PrepareForTest({ DaoImplTest.class })
@PowerMockIgnore("javax.management.*")
public class DaoImplTest extends PowerMockito {
@InjectMocks
private DaoImpl dataAccess;
@Mock
private SynchAuditor auditorMock;
@Before
public void setUp() throws Exception {
loader = ObjectLoader.init("JUNIT");
loader.bind(ConfigurationProvider.class, configurationProviderMock);
dataAccess = loader.newInstance(DaoImpl.class);
}
@After
public void tearDown() {
loader.release(dataAccess);
ConnectionMgr.disconnect("JUNIT");
}
@Test
public void testSaveAuditEvent() throws Exception {
PowerMockito.whenNew(SynchAuditor.class).
withArguments(Matchers.any(ClientConfiguration.class), Matchers.any(EventRegProvider.class)).thenReturn(this.auditorMock);
final AuditEvent event = AuditEvent.from(null, "principal", UUID.randomUUID().toString(), "randomText",
new AuditEvtDefn((long) 522, "234242", "234242fdgd", true), SUCCESS, null, new GregorianCalendar());
dataAccess.save(event);
Mockito.verify(auditorMock, times(1)).audit(Matchers.any(AuditedEvent.class));
}
即使是powermockito.verifynew也说没有交互作用。
PowerMockito.verifyNew(SynchronousAuditor.class,times(1)).withArguments(Matchers.any(AuditorClientConfiguration.class),Matchers.any(EventRegistrationProvider.class));
powermock跳过某方法_如何使用powermock验证内部方法调用?相关推荐
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...
- java 异步调用方法_乐字节Java编程之方法、调用、重载、递归
一.概述 方法是指人们在实践过程中为达到一定目的和效果所采取的办法.手段和解决方案. 所谓方法,就是解决一类问题的代码的有序组合,是一个功能模块.编程语言中的方法是组合在一起来执行操作语句的集合.例如 ...
- 中艺人脸识别考勤机使用方法_人脸识别考勤机的使用方法及注意事项 - 全文
人脸识别考勤机概要 人脸识别考勤机是一种新型的存储类考勤机,事先只需采集员工的面像,并建立档案,当员工上下班站在人脸识别考勤机的识别区域内,考勤机上就会快速的记录考勤状况并保存记录. 人脸识别考勤机是 ...
- 中艺人脸识别考勤机使用方法_人脸识别考勤机的使用方法及注意事项
人脸识别考勤机概要 人脸识别考勤机是一种新型的存储类考勤机,事先只需采集员工的面像,并建立档案,当员工上下班站在人脸识别考勤机的识别区域内,考勤机上就会快速的记录考勤状况并保存记录. 人脸识别考勤机是 ...
- python的del方法_关于python:__ del__方法是什么,如何调用它?
我正在阅读代码. 在其中定义了__del__方法的类. 我发现此方法用于销毁类的实例. 但是,我找不到使用此方法的地方. 其主要原因是我不知道如何使用此方法,可能不是这样:obj1.del(). 因此 ...
- java 子类的同名方法_子类父类拥有同名的方法时……
子类父类拥有同名的方法时-- (这个程序是不能运行的) packageyanzheng; public classParentChildTest { public static voidmain(St ...
- smc数显压力表设定方法_压力控制器工作原理与设定方法
一.压力控制器的简介与原理 机械式压力控制器属于制冷机组压力的控制的元器件,在制冷系统中主要用作高压/低压/高低压压力控制器.使用方法简单,在压力控制器上面设定一个压力,以高于或者低于此压力的压力控制 ...
- splice方法_[7000字]JavaScript数组所有方法基础总结
基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...
- 班尼机器人维修方法_工业机器人常见故障和修理方法
原标题:工业机器人常见故障和修理方法 机械手常见故障和修理方法 1.先动口再动手 对于有故障的电气设备,不应急于动手,应先询问产生故障的前后经过及故障现象.对于生疏的设备,还应先熟悉电路原理和结构特点 ...
最新文章
- 「欧拉定理」学习笔记(费马小定理)
- 智能车百度赛道培训第二弹-算法篇
- 【cntk速成】cntk图像分类从模型自定义到测试
- 关于PageRank的一些见解
- 数据库复杂查询,多表多联
- mpvue 微信小程序 显示 转发按钮
- 八个角最多可以把平面分成多少部分?_平面设计构图的基本形式
- “相当一部分”HPE公司OpenStack工作人员被转移至SUSE
- 服务器上build.xml文件乱码解决(亲测有效)
- 看门狗超时前在内核打印信息
- 【读书笔记】实战Java高并发程序设计(第2版)读书笔记
- Spring Cloud 与微服务学习总结(16)—— 微服务架构统一安全认证设计与实践
- JFinal中实体类存取之循序渐进法
- word字间距异常处理方式
- Jquery中BlockUI的遮罩效果详解
- 路由器linux校园网,还在为无法突破校园网的限制而烦恼?动动手,借助路由器完成锐捷认证...
- word流程图怎么使箭头对齐_怎样在word中绘制流程图方框间距相同,排列整齐,箭头笔直...
- 遇见CUBA CLI
- 腾讯云Ubuntu18.04萌新摸索(一)搜狗输入法
- 手机室内地磁定位软件_一种基于手机地磁和场景图像的室内定位方法与流程