2012-06-18 4 views
1

재생 기능 테스트 일부 컨트롤러 메소드에 요청을 실행 중입니다. 그리고 컨트롤러에서 플래시 범위를 사용하여 일부 매개 변수를 가져 와서 작업 할 수 있습니다. 그러나 나는 설정이 플래시 매개 변수를 할 수없는 시험에서, 나는 시도 :기능 테스트에서 플래시 범위를 설정하고 확인하는 방법

Flash.current().put("key","value"); 

을하지만 테스트에 NullPointerException이 있습니다.

및 컨트롤러 플래시 범위

이 비어 :

flash.get("key") 

설정 방법 플래시 범위에? 이 플래시 값을 설정하는 전체 워크 플로를 테스트하고 싶지 않고이 읽기 값에 집중하고 싶습니다.

답변

1

기능 테스트 실행이 기능 테스트가있는 테스트 설정과 다른 스레드이므로 Flash.current() 설정이 작동하지 않습니다.

FunctionalTest 클래스는 호출간에 쿠키를 저장합니다.

플래시 범위를 사용하는 요청을 테스트 할 수있는 한 가지 방법은 응용 프로그램에서 실제로 플래시 범위를 설정하는 요청을 먼저 호출하는 것입니다. 설명에 따르면 그렇게 원하지는 않습니다.

플래시 가능 범위 변수를 수동으로 Request의 쿠키에 넣는 것입니다. 형식을 확인하려면 play.mvc.Scope.Flash.save()을 참조해야합니다.

+0

확인. 그 플래시 매개 변수를 저장하고 읽는 것에 대한 래퍼 (wrapper) 같은 것이 좋은 것 같아요. - 나는 놀이 테스트 인프라에서 그걸 그리워합니다. –

관련 문제