我目前正在学习grails,并通过the guide进行测试。
提供了一个示例,其中包括在虚构的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实践是什么?我正在阅读的指南中似乎没有涉及。