【问题标题】:CakePHP doesn't create tests tablesCakePHP 不创建测试表
【发布时间】:2017-06-28 03:42:51
【问题描述】:

我尝试做一些测试,但是 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();
    }

}

有什么问题?

【问题讨论】:

    标签: php cakephp testing


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果您想将表命名为 test_{tablename},请使用:

      'prefix' => 'test_',
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-16
        • 1970-01-01
        • 1970-01-01
        • 2016-02-06
        • 2015-09-07
        • 1970-01-01
        • 2012-12-10
        • 2018-08-24
        相关资源
        最近更新 更多