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"})注解可以解決這種情況,
該注解不會初始化代碼中的靜態變量,靜態塊。因此,有必要的話需要手動注入這些靜態塊的初始化,否則會出現空指針異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM