在我的 grails 应用程序中,在控制器中,我使用以下类型的东西:
class SampleController {
def action1 = {
def abc = grailsApplication.getMetadata().get("xyz")
render abc.toString()
}
}
在运行应用程序时,它会从 application.properties 正确读取属性“xyz”并且工作正常。但是当我为上述控制器编写单元测试用例时,如下所示:
class SampleControllerTests extends ControllerUnitTestCase {
SampleController controller
protected void setUp() {
super.setUp()
controller = new SampleController()
mockController(SampleController)
mockLogging(SampleController)
}
void testAction1() {
controller.action1()
assertEquals "abc", controller.response.contentAsString
}
}
但是当我执行“grails test-app”时,我希望它会从 application.properties 中获取属性“xyz”并按预期返回。但它给出的错误是“没有这样的属性:grailsApplication”。
我明白,我想我需要模拟grailsApplication
对象,我也尝试了许多选项,但所有这些都不起作用。
我是 Grails 的新手。