Cake 3:生成测试的默认模型

时间:2015-03-03 12:44:33

标签: unit-testing mocking cakephp-3.0

我知道CakePHP 3能够在不存在时生成TableClass。 但这不适用于使用getMockForModel()方法进行测试。

如何在不创建自定义Table类的情况下使用它?

1 个答案:

答案 0 :(得分:0)

自动表基于\Cake\ORM\Table个实例,因此您可以做的就是模拟该类,只需确保传递必要的选项,即至少table(数据库的名称)要表示的表,并且很可能是connection(要使用的连接实例)。

参见 http://api.cakephp.org/3.0/class-Cake.ORM.Table.html#___construct

有些事情:

$connection = ConnectionManager::get('test');

$table = $this->getMock('Cake\ORM\Table', ['methods', 'to', 'mock'], [
    ['table' => 'whatevers', 'connection' => $connection]
]);