簡體   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