1

我正在使用 phpspec 测试我的 zend 2 模块,并且在测试传递引用时遇到问题。我已经阅读了有关此的其他主题,如果您必须这样做,那么它是糟糕的设计。我不同意这是一个笼统的说法。

我需要表示类之间的双向关系,其中两个类相互引用两个。

有没有办法让 phpspec 来测试这个,或者我需要考虑一个更好的设计。

4

1 回答 1

0

我想确保 A 类可以返回 B 类,反之亦然。

这不是真正的行为,而是状态验证。PhpSpec 专注于行为,但您需要做的仍然是可能的:

class ASpec extends ObjectBehavior
{
    function it_exposes_B(B $b)
    {
        $this->beConstructedWith($b); // or $this->setB($b);

        $this->getB()->shouldReturn($b);
    }
}

BSpec 看起来很相似:

class BSpec extends ObjectBehavior
{
    function it_exposes_A(A $a)
    {
        $this->beConstructedWith($a); // or $this->setA($a);

        $this->getA()->shouldReturn($a);
    }
}
于 2014-05-22T16:18:38.317 回答