我正在使用 phpspec 测试我的 zend 2 模块,并且在测试传递引用时遇到问题。我已经阅读了有关此的其他主题,如果您必须这样做,那么它是糟糕的设计。我不同意这是一个笼统的说法。
我需要表示类之间的双向关系,其中两个类相互引用两个。
有没有办法让 phpspec 来测试这个,或者我需要考虑一个更好的设计。
我正在使用 phpspec 测试我的 zend 2 模块,并且在测试传递引用时遇到问题。我已经阅读了有关此的其他主题,如果您必须这样做,那么它是糟糕的设计。我不同意这是一个笼统的说法。
我需要表示类之间的双向关系,其中两个类相互引用两个。
有没有办法让 phpspec 来测试这个,或者我需要考虑一个更好的设计。
我想确保 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);
}
}