yii中的单元测试验证码

时间:2013-12-18 08:09:32

标签: unit-testing yii phpunit captcha

如何使用验证码对表单进行单元测试?

我收到此错误:

  

致命错误:在第65行的framework / validators / CCaptchaValidator.php中的非对象上调用成员函数createAction()

如何解决此错误?

我尝试过以下代码:

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

但我收到以下错误:

  

致命错误:在第221行的C:\ xampp \ htdocs \ yii \ framework \ web \ widgets \ captcha \ CCaptchaAction.php中的非对象上调用成员函数getUniqueId()

任何想法?

1 个答案:

答案 0 :(得分:-1)

我通过忽略验证码规则来修复此错误并为其提供自定义值并且它可以正常工作!

我在表单中删除了这部分规则:

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