2013-12-18 3 views
-1

captcha로 폼 단위 테스트하는 방법? yii의 단위 테스트 capther

Fatal error: Call to a member function createAction() on a non-object in framework/validators/CCaptchaValidator.php on line 65

가 어떻게이 오류를 해결할 수

:

나는이 오류가?

나는 아래의 코드 시도 :

$c = Yii::app()->createController('module/action'); 
Yii::app()->controller = $c[0]; 
$captcha = new CCaptchaAction(Yii::app()->controller, 'captcha'); 
$model->captcha = $captcha->getVerifyCode(); 

을하지만 아래의 오류 얻을 :

Fatal error: Call to a member function getUniqueId() on a non-object in C:\xampp\htdocs\yii\framework\web\widgets\captcha\CCaptchaAction.php on line 221

어떤 아이디어?

+2

전에. 단위 테스트 **는 ** 로켓 과학입니다. 그 치명적인 의미가 무엇인지 이해할 수 없다면 - 계속하기 전에 PHP 학습에 약간의 시간을 투자하십시오. – zerkms

+1

정말 도움이되는 의견에 감사드립니다. 나는 그 치명적인 것이 무엇을 의미하는지 알지만, 나는 그것을 어떻게 고쳐야하는지 모른다. 네가 모른다면 다른 사람들이 대답하고 도와 줘! – user3019375

+0

대답은 도움이되지 않습니다 - 기초를 배우기 전에 당신이 정말로 복잡한 일을하기 시작한 이래로. "나는 그 치명적인 의미가 무엇인지 안다."- 그래서 받아 들여서 고쳐라. 당신도 그것을 알고 그것을 고치거나 그것을 모르고 초보자를위한 책을 읽습니다. – zerkms

답변

-1

captcha 규칙을 무시하여이 오류를 수정하고 맞춤 값을 지정하면 작동합니다.

난 내 양식에 규칙이 부분을 제거 : 단위 테스트를 쓰기는 언어의 기초를 배울 의미가

array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements())