gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:57:12 25 4
gpt4 key购买 nike

我有一堆集成测试。我想要一个有一些测试使用的实用方法的类。我开始将实用程序方法全部设为静态,并且很容易从测试中获取它们的句柄。

但是,我需要实用程序类能够获取 grailsApplication.confg 的句柄,以便我可以引入一些配置。为此,因为实用程序类不是服务,所以我让该类实现 ApplicationContextAware .这意味着我必须使静态方法基于实例。很公平。

为了使它成为ApplicationContextAware,我实现了接口(interface)并且我做了:

class TestUtils {
def grailsApplication
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
// TODO Auto-generated method stub
this.grailsApplication = grailsApplication
}
...

但这永远不会被调用,这意味着我的本地 grailApplication ref 永远不会设置。

如果我只是将此 TestUtility 字段设为服务会更好还是我做错了什么?

最佳答案

您可以使用静态方法保留实用程序类并访问 grailsApplication通过Holders类(class):

def grailsApplication = Holders.grailsApplication

关于Grails:用于需要处理 grailsApplication.config 的测试的实用程序类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18493023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com