首页 > 其他 > 详细

PowerMockito的一些注意事项

时间:2020-03-27 19:10:44      阅读:361      评论:0      收藏:0      [点我收藏+]

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"})注解可以解决这种情况,
该注解不会初始化代码中的静态变量,静态块。因此,有必要的话需要手动注入这些静态块的初始化,否则会出现空指针异常

PowerMockito的一些注意事项

原文:https://www.cnblogs.com/seancheer/p/12582658.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!