2011-02-24 45 views
0

我目前正在学习grails,并在测试中通过the guide工作。了解Grails测试中的metaClass

有提供一个例子,其覆盖在一个虚构的BookController写这段代码测试:

def show = { 
    [ book : Book.get(params.id) ] 
} 

导向提出了嘲笑出params.id结果以下方法:

void testA() { 
    BookController.metaClass.getParams = {-> [id:10] } 
} 

由于这是对BookController的静态定义的更改,它是否在测试之间持续存在,或者Grails魔术是否会自动清除tearDown方法?

也就是说,如果我是写一个后续的测试跳过metaClass.getParams设置和testA后跑,会params.id还是回到10

如果是这样,在测试拆卸中清理的标准grails实践是什么?它似乎没有在我正在阅读的指南中介绍。

回答

0

您使用的是覆盖1.0.x的文档的古代版本。测试支持现在更加稳固,所以请参阅http://grails.org/doc/latest/的更新第9章