Проверка двунаправленных отношений родитель-потомок с использованием PHPSpec

Как проверить с помощью phpspec, что двунаправленные отношения родитель-потомок созданы правильно?

class ParentSpec extends ObjectBehavior
{
    function it_adds_a_reference_to_self_while_(Child $child)
    {
        $this->addChild($child);

        $child->setParent($this)->shouldBeCalled();
    }
}

Строка 7 выдает ошибку, которая очевидна, поскольку $this является объектом ParentSpec, а не Parent. Но у меня нет других идей, как проверить вызов метода setParent.


person Lukas    schedule 03.05.2015    source источник


Ответы (1)


Используйте getWrappedObject для получения базового объекта:

$child->setParent($this->getWrappedObject())->shouldBeCalled();

http://www.phpspec.net/en/latest/cookbook/wrapped-objects.html

person dblack    schedule 04.05.2015