powermockito的一些注意事项_秋风五丈原-编程思维

PowerMockito的一些注意事项

1 注解@PowerMockIgnore({"javax.crypto.*"})

对于PowerMock,打桩的时候应该导致了Java的Ext工具类失效了,所以如果使用到了AES,Base64相关的类和方法,会导致llt
的相关逻辑不能正常工作,因此,需要加入该注解来取消对相关Package的mock。

2 Powermockito给普通对象的普通方法进行doNothing打桩和给静态方法打桩

  • PowerMockito.doNothing().when(executor).start(anyInt()); //给普通方法打桩
  • PowerMockito.doReturn(configuration).when(HBaseConfiguration.class, "create"); //给静态方法打桩

3 Powermockito为了避免因为某些静态块初始化导致的错误,比如:

static{
		System.loadlibrary("xxxx");
}

//如果在不同的测试类中,会导致出现native library has been loaded in another class loader

此时,使用@SuppressStaticInitializationFor({"org.apache.hadoop.hbase.ipc.DMClockRpcExecutor"})注解可以解决这种情况,
该注解不会初始化代码中的静态变量,静态块。因此,有必要的话需要手动注入这些静态块的初始化,否则会出现空指针异常

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/seancheer/p/12582658.html

java多版本管理_zhouweixin-编程思维

背景 java版本的升级也比较频繁, 每年一个版本或更多 虽然java环境变量的配置无技术性可言, 但对于频繁切换也是比较枯燥的 java版本管理工具 sdkman: https://sdkman.io/ jenv Jabba sdkman的安装--mac 安装 curl -s "https://get.sdk

java gc相关知识_秋风五丈原-编程思维

Java堆的分类 分为两类:YoungGen和OldGen。其中,YoungGen分为三部分:eden,from survivor和to survivor,比例默认是:8:1:1 PermGen不属于java堆的范畴 需要注意的是,从java8开始,PermGen已经被取消,取而代之的是metaspace,不同点在于

jdk核心源码_hackxiyu-编程思维

 一、核心包有哪些?   Jdk的包中,除开了lang包下面的类,用得最多的应该要属于util包下面的类了,   本篇文章主要针对Jdk的util包下面的类(util目录下面的类,暂时不包括util 包下面的子包,子包将在后面继续进行)进行一个总结,   主要是用来帮助大家进行梳理知识,让大家对jdk的代码更加熟悉。

java——io流超详细总结_说故事的五公子-编程思维

该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。   在初学Java时,IO流是我遇到的一个很头疼的东西,Java IO 体系看起来类很多,感觉很复杂,但其实是 IO 涉及的因素太多了。在设