CakePHP不会创建测试表

时间:2011-02-05 21:55:12

标签: php cakephp testing

我试过做一些测试,但是cakephp没有创建de test_ {tablename}表!他正试图使用​​原始表格。 数据库配置:

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();
    }

}

有什么不对?

2 个答案:

答案 0 :(得分:0)

当你创建$ test数据库连接时,cake应该尝试在该数据库中创建表。根据您应该在tests_clubpets中的代码。确保创建数据库并且用户对表具有权限。还检查你没有做任何typeo的

答案 1 :(得分:0)

如果你想让你的表名为test_ {tablename},请使用:

'prefix' => 'test_',