Я хотел бы проверить метод из абстрактного класса.В этом классе есть абстрактный метод со статическим.
Я использую PHPUnit.С обычными абстрактными методами это работает:
<?php
abstract class AbstractClass
{
public function concreteMethod()
{
return $this->abstractMethod();
}
public abstract function abstractMethod();
}
class AbstractClassTest extends PHPUnit_Framework_TestCase
{
public function testConcreteMethod()
{
$stub = $this->getMockForAbstractClass('AbstractClass');
$stub->expects($this->any())
->method('abstractMethod')
->will($this->returnValue(TRUE));
$this->assertTrue($stub->concreteMethod());
}
}
?>
phpunit file.php работает.
Но если abstractMethod является статическим, он отображает:
PHP Фатальная ошибка: класс Mock_AbstractClass_6332ae11 содержит1 абстрактный метод и поэтому должен быть объявлен как абстрактный или реализовать оставшиеся методы (AbstractClass :: abstractMethod) в /usr/local/apache2/php5.3/lib/php/PHPUnit/Framework/TestCase.php(1135): eval ()код в строке 33