可能重复:
PHPUnit Mock Objects and Static Methods
unit testing and Static methods
我正在使用PHPUnit 3.6.10,我似乎找不到在documentation中模拟静态方法的好例子。具体来说,我有一个带有方法a()的A类 - 称之为A-> a() - 它调用B :: b(),我需要模拟它的返回值。
class A {
function a() {
return B::b();
}
}
class B {
static function b() {
return 5;
}
}
()的测试函数应如下所示:
class A_Test {
function test_a() {
// what should the code look like here?
}
}
由于我们纯粹测试A-> a()返回B :: b(),我们不关心B :: b()如何工作,所以我们可以模拟B的返回值: :b()(例如,返回'foo')并在我们调用A-> a()时检查是否返回'foo'。怎么办呢?