遥控块不赋值变量

Remote-control block does not assign variables

我正在使用远程控制插件在 Grails 2.5.6 中使用 Spock 和 Geb 编写功能测试。

我在 when 块中有这样的东西:

String someString
remote {
    someString = SomeDomain.findByName("Some Name").someValue
}

在后面的 then 块中,someStringnull。尝试调试问题,remote 块中的断点未命中。

我做错了什么?

由于remote-control执行给定闭包的方式,未执行对局部变量的赋值。

改为这样做:

String someString = remote {
    return SomeDomain.findByName("Some Name").someValue
}

请记住,序列化是在那里执行的,因此这不适用于所有类型。