繁体   English   中英

Grails:用于需要grailsApplication.config句柄的测试的实用程序类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM