-1
如何測試一個方法是否與phpunit一起是靜態的?PHPUnit測試如果方法是靜態方法
我有一個靜態方法\ProcessWire\className::getModuleInfo
,我想添加一個測試,以確保它是靜態的。我怎樣才能做到這一點?
如何測試一個方法是否與phpunit一起是靜態的?PHPUnit測試如果方法是靜態方法
我有一個靜態方法\ProcessWire\className::getModuleInfo
,我想添加一個測試,以確保它是靜態的。我怎樣才能做到這一點?
您可以使用Reflection確認的方法是static
<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}
$class = new ReflectionClass('Apple');
// Only return method data that is a static method
$methods = $class->getMethods(ReflectionMethod::IS_STATIC);
// shows information only for `thirdMethod()`
var_dump($methods);
你爲什麼要測試?海事組織,這樣的測試沒有任何價值。當然,除非你正在研究一個代碼生成器並且想驗證它的輸出。 –
爲了測試我是否可以調用靜態方法而不是創建類的新實例,然後才能調用它? – SheperdOfFire
如果你不能靜態調用一個方法,php運行時會拋出一個異常。你不需要測試來做到這一點。這是一個嘗試測試PHP。你不需要測試php,你只需要測試你的域代碼。 – sensorario