PowerMockito進行static方法mock時,在併發場景下,mock失效

相對一個函數中寫的鎖的邏輯進行併發測試,由於業務代碼很複雜,中間會進行很多操作,所以想要使用PowerMockito進行mock,這些非測試目標函數都是靜態方法,在只有1~2個線程運行的情況下,是可以mock成功的。但是線程數到3個以上,就會出現時好時壞的情況,有時候mock就會失效。因爲對PowerMockito內部的實現原理不瞭解,在網上找到相關的資料蒐集在這裏。

  1. 在多線程中使用powermock不是一種推薦的行爲。有以下的帖子詳述了原因:
    在多線程構建場景下Powermockito無法在不同類中Mock同一個靜態方法
    雖然我只mock了一個類的幾個靜態方法,多線程中也只調用了這一個類中的一個待測試的靜態方法,但是也出現了帖子中說的問題。
  2. 未完待續
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章