PowerMockito的一些注意事项

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

相关文章:

  • 2021-12-07
  • 2021-09-20
  • 2022-12-23
  • 2022-12-23
  • 2022-02-08
  • 2021-08-04
  • 2022-12-23
  • 2017-12-06
猜你喜欢
  • 2021-12-16
  • 2021-12-28
  • 2021-08-09
  • 2021-11-20
  • 2021-11-09
  • 2022-01-10
  • 2022-12-23
相关资源
相似解决方案