1
目前我嘗試將PHPUnit集成到我的項目中。 爲了確保100%的測試覆蓋率,我希望檢查類中存在的所有方法是否在測試類中進行測試。 所以我想,但是我可以寫類似PHP - ReflectionClass - 僅適用於當前類的getMethods
class MyClassTest extends PHPUnit_Framework_TestCase {
private function _getClassFunctions($class) {
$class = new ReflectionClass($class);
return $class->getMethods();
}
public function testCompareFunctionCount() {
$this->assertEquals($this->_getClassFunctions('MyClass'), $this->_getClassFunctions(__CLASS__));
}
}
看來,這ReflectionClass ::的getMethods()計算不僅是類本身的方法,也是所有擴展類。 有沒有辦法來防止這種行爲?還是我得到了完全錯誤的東西?我在舊文章中看到ReflectionClass :: getMethods()在舊版PHP版本上無法正常工作,但我認爲它現在可能已被修復(這些文章已超過4年了)
我使用PHP 5.4.5。
這正是我所需要的。 非常感謝! :) –