PHPUnit - 在另一个类中模拟静态方法的返回值

时间:2012-08-28 06:48:23

标签: php phpunit static-methods

  

可能重复:
  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'。怎么办呢?

0 个答案:

没有答案