我在使用PHPunit和Mockery时遇到了问题。出于某种原因,PHPunit说我在Mockery中定义的方法onFoo
不存在。
public function testReturnsTheCorrectValueWithClass()
{
$listener = \Mockery::mock('FooListener');
$listener->shouldReceive('onFoo')
->once()
->andReturn('foo');
$this->eventManager->attach('foo.class', array($listener, 'onFoo'));
$this->assertTrue($this->eventManager->dispatch('foo.class') === 'foo');
}
有谁知道这段代码有什么问题?
答案 0 :(得分:1)
我找到了问题的解决方案!它与我的测试代码无关,但与我的EventManager获取模拟对象的方式有关。我创建了一个模拟对象的新实例,而不是仅使用现有的实例。
感谢大家的帮助!