Hata kaydedicimizin çeşitli senaryolarda nasıl çalıştığını test etmem gerekiyor. Böyle bir senaryo ayrıştırma hatalarıdır. İşte bir örnek:phpunit ile PHP ayrıştırma hatalarını test etme
public function testParseErrorLogsAnError()
{
$this->assertCount(0, $this->log_handler->getRecords());
try {
eval('<?php not good');
$this->fail('Code above should throw a parse error');
} catch (\Exception $e) {
$this->assertInstanceOf(\ParseError::class, $e);
}
$this->assertCount(1, $this->log_handler->getRecords());
}
Sorun PHPUnit daima bir istisna ile var olduğunu ve asla catch
blok girer. Phpunit istisnası işleyicisi nasıl devre dışı bırakılır veya devredilir, böylece kendi testlerimizi yapabiliriz?
bir PHP7 özelliği taşımaktadır:
Alternatif, zaten @DevDonkey önerdiği
@expectedException
açıklama als kullanmak eval. PHP7 kullanıyor musunuz? –Evet, PHP7 kullanıyoruz. – Ilija