2009-07-10 97 views
9

我是單元測試和嘲笑的新手。我嘗試在Grails中單元測試一個抽象的域類。我應該如何模擬一個實現,以便我可以單元測試域類的約束條件?有沒有辦法使用groovy或grails附帶的模擬庫?我應該只實現一個簡單地擴展抽象類的類嗎?單元測試Groovy中的抽象類

回答

9

有關Groovy(很多)的一件很酷的事情是,您可以使用方法名稱與閉包的映射作爲值來模擬出一個類。這包括抽象類。

abstract class Foo { 
    def foo() { 
     return bar() + 1 
    }  

    abstract int bar() 
} 

def fooInst = [bar: {-> return 1 }] as Foo 
assert 2 == fooInst.foo() 
+0

的Groovy ROCKS!我不敢相信這很容易。非常感謝你! – 2009-07-11 05:24:02