在Cake 3中,我正在测试一个行为。现在,我想测试在通过模型保存时,行为是否被很好地使用。为此,我需要模拟一些行为方法。
我已经寻找了许多方法来模拟它们并将它们添加到模型中。在Cake 2.x中,我们能够通过ClassRegistry注册自定义行为。我在Cake 3中搜索了如何做到这一点,但没有找到它。
有人知道怎么做吗?
谢谢
发布于 2015-03-04 13:26:33
您可以简单地使用手动将模拟添加到表行为注册表中,它允许添加任意对象。
$table = TableRegistry::get('FooBars');
$behaviorOptions = [];
$behaviorMock = $this->getMock(
'\App\Model\Behavior\BazBehavior',
['some', 'mocked', 'methods'],
[$table, $behaviorOptions]
);
$table->behaviors()->set('Baz', $behaviorMock);现在,您的模拟行为在表中注册为Baz。
https://stackoverflow.com/questions/28843637
复制相似问题