2017-06-20 2 views
1

Dans un je fais basé sur quelque chose de spécifique before() de Interceptor le actionName mais lorsqu'il est lancé depuis le test du actionName est nulle:Comment rendre le actionName disponible pour une unité d'essai

Test:

void "test"() { 
    when: 
     withRequest(controller: 'test1', action: 'test2') 

    then: 
     interceptor.doesMatch() 
     interceptor.before() 
} 

Comment remplir le actionName dans le test?

Grails 3.1.6

Répondre

0
void "test"() { 
    when: 
     withRequest(controller: 'test1', action: 'test2') 
     request.setAttribute(GrailsApplicationAttributes.ACTION_NAME_ATTRIBUTE, 'test2') 

    then: 
     interceptor.doesMatch() 
     interceptor.before() 
} 

Cela fonctionne pour moi, bien que je préférerais une manière plus automatique, j'attend la méthode withRequest pour ce faire.