Yii 1.1.8로 작성된 응용 프로그램이 있습니다.Yii의 단위 테스트에서 Guest에 대한 액세스를 확인하는 방법은 무엇입니까?
현재 사용자 액세스 권한을 다루기 위해 단위 테스트 세트를 개발 중입니다. 나는 yii-rights 모듈을 사용하고 있는데 그것에 대해 하나의 이상한 점을 발견했다.
Yii::app()->user->checkAccess($operation)
은 단위 테스트에서 항상 false를 반환합니다 (borwser에서 앱을 실행하는 경우는 예외). 내가 게스트 사용자가 액세스 할 필요가 일부 authItems이 -
가 나는 인증 된 사용자에 대한 액세스를 확인하기 위해Yii::app()->getAuthManager()->checkAccess($operation, $userId)
를 호출하고,하지만 한 가지 문제가있다, 해결 방법의 종류를 발견했다. 게스트 사용자는 ID가 없으므로 테스트가 실패합니다. 따라서 CDbAuthManager 클래스에서 CheckAccess()를 호출 할 수 없습니다. 일부 버그로 인해 CWebUser의 checkAccess()도 실패합니다.
모든 테스트를 수행하기 전에 인증 코드를 호출하고 작동합니다. 인증 된 사용자에 대한 액세스가 권한 부여에 따라 부여되거나 거부됩니다. Yii :: app() -> user도 올바르게 설정됩니다.
그럼 내 질문은 : 단위 테스트에서 Yii :: app() -> user-> checkAccess ($ operation) 작업을 수행하거나 guest 사용자의 ID를 사용할 수있는 방법이 있습니까? 다른 checkAccess() 함수? 아니면 내가 모르는 액세스를 확인하는 다른 방법이 있습니까?