【发布时间】:2016-06-24 23:18:29
【问题描述】:
我想用 Mokcery 模拟一个已经在另一个方法中使用过的静态方法,如下:
Class SomeClass
{
public static function methodA()
{
.....;
self::B();
}
public static function methodB()
{
Do SomeThing
}
}
如果我想mock methodB,并使用methodA,mock函数不起作用,因为methodB用在methodA中,如下
use Mockery as m;
$mocktest = m::mock->('SomeClass[B]');
$mocktest->shouldReceive('B')->andReturn("expectedResult");
$mocktest->methodA();
上面的代码将导致methodB仍然返回它的原始结果而不是'expectedResult'。 我希望methodA中使用的methodB被嘲笑,我该如何操作?
【问题讨论】:
标签: php testing phpunit mockery