我在事件监听器中有一个preUpdate事件挂钩,我想编写一个测试,只是验证在更新特定文档时它是否被执行。我能够找到的关于测试与Doctrine相关的任何内容的唯一文档是关于测试查询构建器的。我是Doctrine的新手,这似乎是一件非常简单的事情,但我真的无法理解。
答案 0 :(得分:1)
您可以使用partial mock
。可以说具有preUpdate挂钩的类称为Entity。
$mock = $this->getMockBuilder('Mock')->setMethods(array('preUpdate'))->getMock();
这创建了一个对象,只有preUpdate方法是存根的,你可以写这个方法的期望:
$mock->expects($this->once())->method('preUpdate');
// some code that triggers the hook
该类的所有其他方法将与原始类一样 - 它们不会被覆盖