测试控制器Cakephp 2方法与数组

时间:2012-06-08 12:17:03

标签: cakephp testing phpunit cakephp-2.1

嗨我在控制器中有这个方法

 public function registeruser($data){
    var_dump($data);
    if(($data) && ($this->User->create($data))) {
      if($data['User']['password'] != Security::hash($data['User']['confirm_password'], null, true) ){
        $this->Session->setFlash('las contraseñas no coinciden');
        // unset($this->data['User']['password']);
        // unset($this->data['User']['confirm_password']);
        $this->redirect('index');
      }
      else if($this->User->save($data)) {
         $this->_subscribMailchimp($data);

      }else {
        $this->Session->setFlash('El mail no es valido o ya está registrado.');
        unset($data['User']['password']);
        unset($data['User']['confirm_password']);
        $this->redirect('index');
      }
    }else {
      $this->Session->setFlash('No se ha podido registrar.');
      $this->redirect('index');
    }
    return $this->User->getLastInsertID();
}

我需要传递$ data表格测试控制器

    $data = array('User' => array('name' => 'Luis jose',
                                  'address' => 'el quinto pino',
                                  'zip' => '28012',
                                  'city' => 'Madrid',
                                  'province' => '5',
                                  'email' => 'luis@hotmail.com',
                                  'password' => Security::hash(Configure::read('Security.salt') . '12345'),
                                  'confirm_password' => '12345'));
    $this->testAction('/users/registeruser', array('data' => $data, 'method' => 'get'));

我尝试过这个数组('data'=> $ data,'method'=>'get')。 控制器功能不接收数组

1 个答案:

答案 0 :(得分:0)

您的注册用户需要1个参数($ data),因此URL应如下所示:

/富/ registeruser /酒吧

哪个会使用'bar'填充$ data

您应该尝试调试($ this->请求)以查看使用GET或更好的方式传递数据的结果,使用POST并查看$ this-> request-> data(CakePHP 2)或$ this-> data(CakePHP 1.3)