有沒有一種方法在斯卡拉使用MockitoSugar
爲了嘲笑一個方法的object
是一個斯卡拉單身?如何使用MockitoSugar來模擬對象(單例)方法?
0
A
回答
7
處理單身嘲笑的最好方法是首先對單身人士本身的結構做一點修改。使用特徵來定義的操作,然後使對象延伸的性狀,如下所示:
trait Fooable{
def doFoo:String = "foo"
}
object Foo extends Fooable
然後,在需要的Foo
對象的任何類,其聲明爲可設定的輸入或東西(DI) ,但decalare它作爲替代特質像這樣:
class MyFooUser(foo:Fooable = Foo){
}
這樣,在默認情況下它使用的對象,但構建你的測試時,你可以給它一個嘲笑Fooable
代替。有很多方法可以處理Fooable
進入你的課程(這是一個),這不是真的在這個答案的範圍內。答案的確是關於首先使用特徵來定義方法,然後讓對象擴展該特徵,然後將其稱爲任何需要它的類的特徵。這將允許你有效地嘲笑它。
0
Mockito不會幫助object
s,但您可以嘗試使用ScalaMock代替。
相關問題
- 1. 如何模擬已模擬對象的實例方法?
- 2. 如何在Java中使用現有對象來模擬方法?
- 3. 如何模擬Kotlin單例對象?
- 4. 模擬PHPUnit中的對象來模擬靜態方法調用?
- 5. 使用模擬修補程序來模擬實例方法
- 6. 如何在方法中模擬對象
- 7. PHPUnit模擬對象方法
- 8. 使用geoxml3 JSON對象來模擬一個更新方法?
- 9. 如何模擬一個方法中的對象方法調用?
- 10. 如何模擬注入模擬對象的方法
- 11. 單元測試私有方法和使用模擬對象
- 12. 模擬(使用moq)返回模擬對象的方法的正確方法?
- 13. 使用單例方法來創建一個全局對象
- 14. 使用Matchers.any()來匹配模擬對象
- 15. RSpec模擬對象示例
- 16. 如何在Python中用對象的模擬方法調用self?
- 17. 如何使用靜態內部類來模擬對象的實例化?
- 18. 如何使用PHPUnit模擬SimpleXMLElement對象?
- 19. 使用簡單模擬對象
- 20. 如何使用rspec來模擬模塊內的類方法
- 21. 模擬方法調用模擬對象中的屬性
- 22. 我可以使用模擬對象來模擬串口嗎?
- 23. 如何用相同的方法模擬第二個對象?
- 24. 如何模擬一個Django模型對象(及其方法)?
- 25. 如何使用帶類的構造函數來模擬對象?
- 26. 模擬已經實例化的對象的方法
- 27. 使用MiniTest在Rails中測試模型方法的單元 - 如何使用存根或模擬對象?
- 28. 如何使用easymock-powermock來模擬靜態方法鏈調用?
- 29. 模擬方法不會返回對象
- 30. 被測對象的模擬方法
在ScalaMock 3中不支持它...等待版本4。 – Dragonborn