1

我在使用 PHPunit 和 Mockery 时遇到问题。出于某种原因,PHPunit 说onFoo我在 Mockery 中定义的方法不存在。

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');
}

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

4

1 回答 1

1

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

不过感谢大家的帮助!

于 2013-04-02T20:51:22.760 回答