1
如果我有一个与类B交互的类A,那么在我的测试中我想嘲笑类B,以便我可以单独测试类A.getMock - 同一类的多个实例
这很容易在PHPUnit中使用"getMock('classname')"
。
我的问题目前是:如果class A
使用的class B
多个实例,因为它看起来"getMock"
不会返回,如果多次调用但总是class B
同一模拟多个实例我不能"getMock('B')"
模拟此。
下面的例子:
<?php
class A()
{
private class_b_1;
private class_b_2;
public function setClassB1(B $class_b)
{
$this->class_b_1 = $class_b;
}
public function setClassB2(B $class_b)
{
$this->class_b_2 = $class_b;
}
}
而且在我的测试:
$mock_one_of_class_b = $this -> getMock('B');
$mock_two_of_class_b = $this -> getMock('B');
然后$mock_one_of_class_b
是相同的对象$mock_two_of_class_b
。
我该如何用PHPUnit
模拟一个类的多个实例?
在此先感谢!