我使用phpspec测试我的zend 2模块,并且在测试pass-by-reference时遇到问题。我已经阅读了有关此问题的其他主题,如果您不得不这样做,请说明它的设计不好。我不同意这是一个全面的声明。
我需要表示两个类之间有两个引用的类之间的双向关系。
我有没有办法让phpspec测试这个,或者我需要考虑更好的设计。
答案 0 :(得分: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);
}
}