使用PowerMock 模擬私有方法的替代解決方案
儘管最初提出的使用PowerMock 的解決方案遇到了困難,但事實證明,另一種方法是成功的。使用 Mockito 和 PowerMock 的組合,可以有效地模擬私有方法。
如提供的程式碼片段所示,類別 CodeWithPrivateMethod 擁有一個公共方法有意義的PublicApi,該方法呼叫私有方法 doTheGamble。為了模擬 doTheGamble 的行為,測試類別 CodeWithPrivateMethodTest 使用 PowerMock 來監視原始類別的實例,並使用 Mockito 指定所需的傳回值。
在這個特定場景中,當呼叫私有方法 doTheGamble 時對於任何字串和整數參數,都指示傳回 true。這會導致公共方法meaningPublicApi觸發RuntimeException。
完整的測試配置是透過PowerMock的@PrepareForTest註解完成的,這確保了被測類已準備好進行間諜活動。使用 PowerMockRunner 執行測試,這有助於模擬靜態和私人方法。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3