2014-07-25 1 views
0

컨트롤러 작업을 테스트합니다. POST 메서드를 통해 데이터를 전달합니다. 데이터를 DB에 저장 한 후 작업 결과에 대한 메시지를 표시하는 기본 페이지로 리디렉션합니다.리디렉션 후 CakePHP testAction이 null을 반환합니다.

메시지의 텍스트가 예상과 같은지 테스트하려고하지만 $ this-> contents 값 대신 null이 표시됩니다.

그러나 모든 데이터가 저장되고 브라우저를 통해 메시지가 성공적으로 표시됩니다.

다음은

$res = $this->testAction('/ask', array_merge(array('return' => 'contents'), array('data' => $fields_data, 'method' => 'post'))); 
+0

항상 정확한 CakePHP 버전을 언급하고 적절하게 질문을 태그하십시오! – ndm

+0

내 답변보기 (https://groups.google.com/forum/#!topic/cake-php/-JvU6ExOgGg) – mark

답변

1

testAction()가 간단 리디렉션을 수행하지 않는 testAction 내 호출입니다.

당신은 예상 플래시 메시지가 설정되어 있는지, 응답이 예상되는 헤더를 설정 한 것으로, 그에 따라 테스트를 변경하고, 어쩌면 Controller::redirect()가 호출되고 있는지 여부를 테스트해야합니다

그리고 다른 방법으로 액션을 호출하기 전에 가능한 플래시 메시지를 정의하여 별도로 리디렉션 할 작업을 테스트하십시오.

관련 문제