从Geb测试中调用GORM方法

Dón*_*nal 1 grails geb

在我的Grails应用程序中,我有一套Geb测试,其中我调用各种GORM方法来保存/检索数据.这工作正常,直到最近.但是现在,每当我尝试从Geb测试中调用GORM方法时,我都会收到以下错误:

类[com.example.MyDomainClass]上的方法在Grails应用程序之外使用.如果在测试的上下文中使用模拟API或正确引导Grails运行.

我知道在某些情况下你需要使用远程控制插件在Geb测试中使用GORM方法.但是,在我的情况下,我通过运行测试grails test-app functional,我没有配置任何JVM分叉Config.groovy.换句话说,测试应该在与正在测试的应用程序相同的JVM中运行,因此我应该能够在没有远程控制插件的情况下使用GORM方法.

我使用的是Grails 2.3.11和Geb 0.10.0.

erd*_*rdi 5

你真的应该总是使用grails远程控制插件.您不应该依赖于您的测试和测试中的应用程序在同一个JVM中运行并且您可以从测试中调用grails代码这一事实.这种方法只能在某些情况下工作,而使用远程控制插件时,这种方法始终有效.

即使您的测试和应用程序在同一个JVM中运行(很可能仍然适用于您),某些方法(例如GORM)可能会被grails限制为仅从请求的上下文中调用,因为它们需要该上下文能够正常工作.