PHPUnit バージョン9.5でdbunitを実行出来ない
PHPUnitでデータベーステストを行うための拡張機能であるdbunit(phpunit/dbunit)を実行した際、下記のエラーが発生。
PHP Fatal error: Trait ‘PHPUnit\DbUnit\TestCaseTrait’ not found in (テストケースクラス)
※ PHPUnit、dbunit共にComposerを使用してインストール
結論からいうと、本記事時点最新のPHPUnit バージョン9.5.4ではdbunitをサポートしていない様子。
Composerライブラリの公式リポジトリ、packagistのdbunitの情報にもphpunit/phpunit: ^7.0 と推奨バージョンは7系である旨が記載されていました。
https://packagist.org/packages/phpunit/dbunit
PHPUnitの再インストール
dbunitを使用したかったので、既存のPHPUnitを一度アンインストールし、バージョンを指定して再インストールすることにしました。
composer.json内のphpunitのバージョンをdbunitと、使用している他の拡張機能の動作に差し支えないバージョンへ記述を変更します。
(今回は5.7、または6系を指定)
before
{ "require-dev": { "phpunit/phpunit": "^9.5", "phpunit/dbunit": ">=1.2" } }
after
{ "require-dev": { "phpunit/phpunit": "^5.7|^6.0", "phpunit/dbunit": ">=1.2" } }
バージョンの記述を変更出来たら、下記コマンドで再インストール
composer update
(インストール完了後) PHPUnitのバージョンを確認
vendor/bin/phpunit --version
PHPUnit バージョン6.5.14 ではdbunitの機能を正常に使用することが出来ました。