【问题标题】:CakePHP Test Fixture doesn't create test recordsCakePHP 测试夹具不创建测试记录
【发布时间】:2012-01-03 15:55:15
【问题描述】:

我有一个 CakePHP TestFixture,它从真实的数据库表中导入记录(到测试数据库表中)。但是,根据 CakePHP 文档,我似乎也可以在记录导入的同时插入新记录。这似乎是一个完全合理的想法,但无论我尝试以何种方式构建声明,它都行不通。

class MemberFixture extends CakeTestFixture {
var $name = 'Member';
var $import = array('model' => 'Member', 'records' => true);

var $records = array(
    array(
        'id' => 1999997,
        'last_name' => 'John',
        'first_name' => 'Smith',
        'member_occupation_id' => 0,
        'zip' => '',
        'age' => 30,
        'created' => '2010-10-17 23:18:15',
        'modified' => '2011-10-16 23:13:48',
    ),
    array(
        'id' => 1999998,
        'last_name' => 'Jim',
        'first_name' => 'Jones',
        'member_occupation_id' => 1,
        'zip' => '',
        'age' => 25,
        'created' => '2010-10-17 23:18:15',
        'modified' => '2011-10-16 23:13:48',
    ),
    array(
        'id' => 1999999,
        'last_name' => 'Dan',
        'first_name' => 'Johnson',
        'member_occupation_id' => 0,
        'zip' => '',
        'age' => 41,
        'created' => '2010-10-17 23:18:15',
        'modified' => '2011-10-16 23:13:48',
    )
);
}

我已经深入了解了记录导入过程在 CakePHP 中是如何工作的。然而,它仍然有些不清楚为什么这个功能不应该工作。有什么想法吗?

【问题讨论】:

    标签: database cakephp testing


    【解决方案1】:

    'records' => true 表示您正在从表中导入数据,因此不是您的夹具中的数据

    替换

    var $import = array('model' => 'Member', 'records' => true);
    

    var $import = 'Member';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      相关资源
      最近更新 更多