2014-02-26 2 views
2

업그레이드 지침에 따라 Laravel 4.0에서 4.1로 최근 업그레이드되었으며 현재 csrf 토큰 단위 테스트에서 유효성을 검사하지 않습니다. 여기에 코드를 게시했습니다 : http://laravel.io/bin/7qRx단위 테스트 중 Laravel csrf 유효성 검사 실패 (Laravel 4.1)

사이트를 탐색하고 양식을 제출할 때 csrf 유효성 검사가 제대로 작동하는 것처럼 보입니다. 단, 동일한 양식의 유효성을 검사하기 위해 단위 테스트를 실행하면 csrf 유효성 검사가 실패합니다. 4.1로 업그레이드하기 전에 작동했습니다.

비슷한 문제가 발견되었지만 해결 방법이 없습니다. https://github.com/laravel/laravel/issues/2633

아이디어가 있으십니까?

답변

2

해결책을 찾았습니다. 추가해야합니다

Session :: start();

을 setup() 메소드에 연결합니다. 경로를 호출 할 때 세션 관련 문제를 해결합니다.

분명히 Laravel은 라우트가 호출 될 때 세션을 시작하고 이미 생성되지 않은 경우 이전 세션 데이터를 덮어 씁니다.

찾을 여기에 게시 된 내용에 따라 솔루션 : Laravel 4 testing session in controllers

+0

이 솔루션은 Laravel 5.1에서도 작동합니다. – MisterBla

0

제안 사항은 구성 파일에 테스트 CSRF 토큰을 설정하고 필터에서이를 확인하는 것입니다. 그러나 그것은 지저분하다.

+0

내가 세션을 사용하여 세션을 초기화 할 수있는 적절한 방법을 찾아 낼 때까지이 일을 시작(). – warkior