-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