我想通過模擬JMock中的類來編寫代碼來測試方法,此方法內部調用三種不同的方法(其中之一是私有方法)。我設定了所有三種內部方法的期望。然後我打電話給正在測試的方法。測試用例沒有說明它期望私有方法被調用並且它沒有被調用。發生的情況是兩個內部方法(使用默認訪問說明符)被成功模擬,但私有方法沒有被模擬,事實上,控制到達導致問題的實際私有方法內部。當我將私有方法的訪問說明符更改爲默認訪問時,一切正常,但我不想這樣做。有人可以請解釋這種行爲,讓我知道如何解決這個問題JMock無法模擬私有方法
1
A
回答
1
JMock不能嘲笑私人方法,簡單明瞭。 Mockito cannot mock private methods either。如果你真的想模擬私人方法,你需要使用PowerMock框架。
0
你也可以使用Jmockit。這是一個優秀的庫,您可以使用這個用例。您可以使用的關鍵字:「Deencapsulation」。
相關問題
- 1. PHPUnit:如何模擬私有方法?
- 2. 模擬方法沒有直接調用JMock的單元測試
- 3. 無法模擬方法
- 4. 如何在私有靜態方法中模擬第三方類?
- 5. C++中的私有虛擬方法
- 6. 無法用powermockito模擬靜態方法?
- 7. 如何在受測試的方法中模擬受保護/私有方法?
- 8. RSpec - 調用應該模擬的私有方法的測試方法
- 9. Jmock模擬DAO對象
- 10. 模擬方法
- 11. 如何爲私有靜態方法模擬解析異常?
- 12. 如何使用PowerMockito模擬私有靜態方法?
- 13. 在jmockit中模擬被測試類的私有方法
- 14. 使用asmock模擬靜態方法和私有成員
- 15. 部分模擬測試在調用私有方法時失敗,這是從模擬方法調用
- 16. Javadoc私有方法
- 17. 無法模擬NSUserDefaults
- 18. Rails NoMethodError:私有方法上的私有方法?
- 19. 私有方法調用另一個私有方法,做對嗎?
- 20. 模擬方法.net
- 21. 與方法公共方法與私有
- 22. 從模擬方法返回模擬
- 23. 是否有用於私有公共虛擬方法的用例?
- 24. Ruby on Rails私有方法?
- 25. ExtJS的gridfilters私有方法
- 26. 覆蓋私有方法
- 27. 私有方法和領域
- 28. 春:通過私有方法
- 29. 訪問JS私有方法
- 30. 私有方法執行
這是什麼私人方法,這意味着你想嘲笑他們? – 2012-04-23 12:53:01
該方法中有一些業務邏輯,現在我已經改變了它的訪問說明符,以使它與JMock一起工作 – Gaurav 2012-04-24 18:19:12
允許邏輯運行會帶來什麼樣的危害?當任何人想要模擬部分主題時,我傾向於認爲你有兩個(或更多)班級可以彼此逃避。 – 2012-04-25 08:29:25