2011-02-05 4 views
0

일부 테스트를 시도했지만 cakephp가 test_ {tablename} 테이블을 생성하지 않았습니다! 그는 원래 테이블을 사용하려고합니다. 데이터베이스 설정 :CakePHP가 테스트 테이블을 생성하지 않습니다

var $test = array(

     'driver' => 'mysql', 
     'persistent' => false, 
     'host' => '127.0.0.1', 
     'login' => 'root', 
     'password' => '', 
     'database' => 'tests_clubpets', 
     'encoding' => 'utf8' 
); 

기구 :

class AdminFixture extends CakeTestFixture { 
    var $name = 'Admin'; 

    var $fields = array(
     'id' => array('type' => 'integer', 'null' => false, 'default' => NULL, 'key' => 'primary'), 
     ... 
     'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB') 
    ); 

    var $records = array(
     array(
      'id' => 1, 
      'nome' => 'Lorem ipsum dolor sit amet', 
      ... 
    ); 
} 

모델 :

class AdminTestCase extends CakeTestCase { 
    var $fixtures = array('app.admin'); 

    function startTest() { 
     $this->Admin =& ClassRegistry::init('Admin'); 
    } 

    function endTest() { 
     unset($this->Admin); 
     ClassRegistry::flush(); 
    } 

} 

무엇이 잘못 될 수 있는가?

답변

0

$ test 데이터베이스 연결을 만들 때 cake는 해당 데이터베이스에서 테이블을 만들려고합니다. 코드에 따라 tests_clubpets이어야합니다. 데이터베이스가 만들어지고 사용자가 테이블에 대한 사용 권한을 가지고 있는지 확인하십시오. 또한 당신이하지 않았다 확인 어떤 typeo의

0

당신이 당신의 테이블 이름 TEST_ {TABLENAME}, 사용을 갖고 싶어 :

'prefix' => 'test_', 
관련 문제