0
私たちのエラー記録機能がさまざまなシナリオでどのように動作するかをテストする必要があります。そのようなシナリオの1つに解析エラーがあります。ここでは例を示します。phpunitでPHP解析エラーを調べる
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());
}
問題は、PHPUnitが常に例外を除いて存在していることであり、決してcatch
ブロックに入りません。どのようにphpunitの例外ハンドラを無効にするかorverrideする、私たち自身をテストすることができますか?
がPHP7機能のは、次のとおりです。
または、すでに@DevDonkeyによって提案
@expectedException
注釈ALSを使用しますeval。 PHP7を使用していますか? –はい、PHP7を使用しています。 – Ilija