PHPUnit 6.0の主な変更点
PHPUnit 6.0.0が2017/02/03にリリースされました。その後立て続けにバージョンがあがり、02/08に6.0.6がリリースされています。
主な変更点
要件
PHP 7.0以上が必要になりました。
名前空間
PHPUnit_Framework_TestCase
がPHPUnit\Framework\TestCase
に変更されました。
もし、既存のテストコードを変更できない場合は、bootstrapに以下のハックを追加することで対応できます。
if (! class_exists('PHPUnit_Framework_TestCase')) {
class_alias('PHPUnit\Framework\TestCase', 'PHPUnit_Framework_TestCase');
}
デフォルト設定
デフォルト設定が変更されました。
backupGlobals="true"
でしたが、backupGlobals="false"
に変更されました- 役に立たないテストがRiskyになります
既存のテストコードをそのまま動作させたい場合は、phpunit.xml
でbackupGlobals="true"
を設定してください。
ただし、backupGlobals="false"
の方がテストの実行が速くなりますので、false
でテストが通るようにした方が好ましいと思います。
デフォルトはfalse
にして、必要なテストケースだけ@backupGlobals enabled
にすることも可能です。
役に立たないテストは修正するか削除すべきでしょう。
ログ
- --log-junitフォーマット変更
- --log-json廃止
テストランナー
すべてのテストがパスするが警告がある場合、exitコードが1に変更されました。
廃止
$this->getMock()
$this->setExpectedException()
および$this->setExpectedExceptionRegExp()
$this->expectException()
,$this->expectExceptionCode()
,$this->expectExceptionMessage()
,$this->expectExceptionMessageRegExp()
を使います
--tap
その他
- PHP 5.3以上が要件のPHPUnit 4.8の保守が終了しました
- PHP 5.6以上が要件のPHPUnit 5.7は2018/02/02まで保守されます
参考
Date: 2017/02/13