2009-07-10 95 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