蛋糕 3:为测试生成默认模型

Cake 3: Generating default model for tests

我知道 CakePHP 3 能够在 Table类不存在时生成它。 但这不适用于 getMockForModel() 方法的测试。

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

Auto-Tables 基于 \Cake\ORM\Table 个实例,因此您可以模拟 class,只需确保传递必要的选项,至少 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]
]);