2013-12-18 3 views
-1

Как выполнить модульную проверку формы с помощью captcha?Единичное тестирование captcha в yii

Я получаю эту ошибку:

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()) 
Смежные вопросы