我的代码类似于:
class A
{
function foo(&$a, $b)
{
if ($a == 0) {
return false;
} else {
$a = $b + 1;
return true;
}
}
}
class B
{
function foo1($a, $b)
{
$a = new A;
$a->foo($a, $b);
if ($a == 0) {
return false;
}
echo $a;
return true;
}
}
我需要获得$a
的值
如何模拟函数foo()
?
答案 0 :(得分:1)
PHPUnit clones the arguments在将它们传递给模拟方法之前。对于原始参数没有解决方法,但对于对象,您可以add a non-public __clone
method来阻止此行为。