2013-07-17 86 views

回答

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代替。

+0

在ScalaMock 3中不支持它...等待版本4。 – Dragonborn

相關問題