![](/img/trans.png)
[英]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.