Points & Lines

【PHPUnit 9.5】PHP Fatal error: Trait ‘PHPUnit\DbUnit\TestCaseTrait’ not found

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の機能を正常に使用することが出来ました。

Follow me!

モバイルバージョンを終了