CakePHP测试夹具不会创建测试记录

时间:2012-01-03 15:55:16

标签: database cakephp testing

我有一个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中是如何工作的。但是,它仍然有点不清楚为什么这个功能不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

替换

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

使用

var $import = 'Member';