[英]Grails Functional Testing - grailsApplication.config is null within controllers and services
[英]Grails: Utility class for tests that needs handle to grailsApplication.config
我有很多集成测试。 我想要一个包含一些测试使用的实用程序方法的类。 我开始将实用程序方法全部静态化,并且很容易从测试中找到它们。
但是,我需要实用程序类才能获取grailsApplication.confg的句柄,以便可以进行一些配置。 为此,因为实用程序类不是服务,所以我使该类实现了ApplicationContextAware
。 这意味着我必须基于静态方法实例。 很公平。
为了使其成为ApplicationContextAware,我实现了接口,然后执行以下操作:
class TestUtils {
def grailsApplication
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
// TODO Auto-generated method stub
this.grailsApplication = grailsApplication
}
...
但这从未被调用,这意味着从未设置我的本地grailApplication引用。
如果我只是将此TestUtility字段提供服务会更好,还是我做错了什么?
您可以使用静态方法保留实用程序类,并通过Holders类访问grailsApplication
:
def grailsApplication = Holders.grailsApplication
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.