2011-04-28 3 views
3

Grails에서 웹 플로우를 사용하고 있으며 현재 테스트를하고 있습니다. 내가 리디렉션하기 전에 플래시 범위에 메시지를 설정 때문에 오류가 발생합니다 뭔가있어 내부 이제 :Grails 웹 플로우에서 flash.message를 테스트하는 방법은 무엇입니까?

... 
if (some_condition) { 
    flash.message = "my error message" 
    return error() 
} 
... 

을 지금을, 나는, 나는이 GSP 페이지에서이 표시거야 때 알고 어쨌든 대신 평소

<g:if test="${flash.message}">... 

<g:if test="${message}">... 

로 플래시 메시지를 액세스, 내 테스트를 쓰고 있어요 내가 메시지 내용을 테스트하는 방법 궁금하네요? 일반적으로 컨트롤러의 정상적인 동작에서는 here으로 작성된 내용을 따릅니다. 그러나 이것은 웹 플로우이기 때문에 controller.flash.message/controller.params.message/controller.message를 체크하더라도 메시지를 찾지 못하는 것 같습니다. 나는 또한 흐름 범위를 살펴 보았습니다 ...

메시지를 보는 방법에 대한 아이디어가 있습니까? 무리 감사!

답변

6

웹 플로 테스트에서 flash.messagecontroller.request.message으로 액세스 할 수 있습니다. 이 똑같은 문제에 대해 많은 검색을 수행했으며 많은 웹 플로우 문서가 모든 범위를 "보기 모델"에 병합하는 것에 대해 이야기합니다. 그러나 나는 또한 어딘가에서 플래시 범위를 리디렉션 요청 범위에 병합한다고 읽었습니다. 그것이 내 테스트 케이스에서 controller.request을 들여다 보도록 유도 한 것입니다.

+0

그건 속임수 였어! 정말 고마워! – callie16

관련 문제