PHPunit和Mockery:找不到方法

时间:2013-04-02 20:05:36

标签: php phpunit mockery

我在使用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');
}

有谁知道这段代码有什么问题?

1 个答案:

答案 0 :(得分:1)

我找到了问题的解决方案!它与我的测试代码无关,但与我的EventManager获取模拟对象的方式有关。我创建了一个模拟对象的新实例,而不是仅使用现有的实例。

感谢大家的帮助!