2012-05-24 7 views
6

Grails 2.0.X 이전 버전에서는 테스트가 확장되는 기본 클래스가 제공하는 mockConfig 메서드를 사용하여 구성을 조롱 할 수있었습니다. 그러나 Grails 2.0.X에서 테스트 클래스는 기본 클래스를 확장하는 대신 @TestFor mixin을 사용하는 것이 좋습니다.Grails 테스트 모의 구성

이 mixin은 Config.groovy에서 값을 조롱하는 방법을 알아낼 수 없으므로 mockConfig 메서드와 동일한 기능을 제공하지 않습니다.

답변

6

당신은, grailsApplication.config에 액세스 할 수

grailsApplication.config.some.config.setting = 'foo' 
0

mockConfig()가 Grails 2.x에 더 이상 존재하지 않는 것 같습니다. 이 방법에 대해 :

def mockConfig = new ConfigObject() 
    mockConfig.some.config.setting = "foo" 

    def myService = new MyService() 
    myService.grailsApplication = [config: mockConfig] 
1

은 새로운 Grails의 2.x에서 테스트에서 범위에 이미 config 목적이 있다고 보인다. 그래서 다음 테스트중인 @TestFor 개체에서 액세스 할 수있는

config.some.config.setting = 'foo' 

말을하기에 충분합니다.

개체를 수동으로 만들어야하는 경우에는 config 개체가 속한 grailsApplication 개체가 테스트 범위에 있습니다. 그래서이 작동합니다 - (I이 서비스를 테스트있을 때 경우) 내가 이런 식으로하고있어

config.some.config.setting = 'foo' 
def myService = new MyService(grailsApplication:grailsApplication) 
4

:

service.grailsApplication.config.mysetting = 'my value' 
def result = service.myMethod() 
// check results 

필요 없음 조롱합니다. 당신만큼 당신이 필요로이 값을 수정할 수 있도록 당신이 할 수 있도록