PHPUnit mock objects and method type hinting

Update

Oh, actually, the problem is pretty simple, but somehow hard to spot. Instead of:

$observer = $this->getMock('SplObserver', array('update'))
                 ->expects($this->once())
                 ->method('update');

You have to write:

$observer = $this->getMock('SplObserver', array('update'));
$observer->expects($this->once())
         ->method('update');

That’s because getMock() returns a different thing than method(), that’s why you got the error. You passed the wrong object to attach.

Original answer

I think you have to fully qualify the type of the mock:

$observer = $this->getMock('\SplObserver', array('update'));

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)