如果我有类似的东西,请在测试中使用Grails遥控器
class FooTest {
static final String CONSTANT = "some constant"
def remote = new Remote()
def testUsingRemote() {
remote {
new DomainObject(name: FooTest.CONSTANT).save()
}
}
}
在远程端执行时,闭包可能会因NoClassDefFoundError而中断,因为FooTest类本身不在已部署的应用程序中。
我可以通过将常量赋值给局部变量然后在闭包中使用局部变量(通过词法范围可用的局部变量)来修复它:
def constant = FooTest.CONSTANT
remote {
new DomainObject(name: constant).save()
}
解决这个问题的好方法是什么?
理想情况:在序列化闭包之前有没有办法解决或内联常量?