2015-03-03 47 views
0

我知道CakePHP 3在不存在的情况下能够生成TableClass。 但这不适用于使用getMockForModel()方法进行测试。Cake 3:为测试生成默认模型

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

回答

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] 
]); 
+0

感谢@ndm,你的代码为我工作!好的解决方案 – Bob 2015-03-03 14:39:25