Phpunit MockObject soyut ve statik yöntem

0 Cevap php

Ben soyut bir sınıf bir yöntemi test etmek istiyorum. Bu sınıfta ile statik bir soyut yöntem yoktur.

Ben phpunit kullanın. Normal soyut yöntemler ile çalışır:

<?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 çalışır.

AbstractMethod statik Ama eğer görüntüler:

PHP Fatal error: Class Mock_AbstractClass_6332ae11 1 soyut yöntem içerir ve bu nedenle / usr/local/apache2/php5.3/lib/php/PHPUnit/Framework/TestCase.php içinde kalan yöntemleri (abstractclass :: abstractMethod) soyut beyan veya uygulamak gerekir (1135): on line 33 eval () 'd code

0 Cevap