Test Soyut Sınıflar
Nasıl PHPUnit ile soyut bir sınıf somut yöntemler test edebilirim?
Testin bir parçası olarak nesne bir tür yaratmak zorunda olduğumu söylerdim. Ama, hiçbir fikrim yok, bunun için en iyi uygulama var mı PHPUnit eğer bunun için izin verir.
CEVAP
Soyut sınıfların birim testi gerekli soyut sınıflar somut yöntemleri var gibi arayüzü test anlamına gelmez, ve bu somut yöntemler test edilebilir.
Uygulama katmanı genişletmek için beklediğiniz bazı temel sınıf olduğu için çok nadir bazı kütüphane kod yazarken değil. Ve eğer kütüphane kod test edilmiş olduğundan emin olmak istiyorsanız, soyut sınıfların somut yöntemleri UT anlamına geliyor.
Kişisel olarak, PHPUnit kullanıyorum ve çok koçanları ve mock nesneler bu tip şeyleri test etmek için bir çağrı var.
PHPUnit manual düz:
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());
}
}
Alay nesnesi birkaç şey ver:
- soyut sınıf beton uygulaması için gerekli değildir, ve saplama ile yerine getirebilir
- somut çağrı ve düzgün yaptıkları iddia edebilirsiniz
- eğer beton yöntemi (Özet) uygulanmayan bir yönteme dayanır, irade ile dönüş değeri saplama() PHPUnit yöntemi
Nasıl birim test soyut sınıflar için: ...
Test Soyut Sınıflar...
Soyut sınıflar için adlandırma kuralla...
Özellikleri yerine soyut sınıflar kull...
C#: Soyut sınıflar, arayüzler uygulama...