PHPUnitでユニットテスト⑤ データベースをテストする 前編

PHPUnitでデータベースのテスト


PHPUnitでデータベース連携機能のユニットテストを行う方法を紹介します。

本記事で利用するプログラム、テストケースのサンプルは下記よりダウンロード出来ます。
Download

環境: PHPUnit 6.5.14, PHP 7.4.8, mysql Ver 8.0.19

拡張機能 DBUnit


PHPUnitでDBのテストを行うためには、拡張機能であるDBUnitを用意する必要があります。
PHPUnit本体と同様、Composerを使用してDBUnitをプロジェクト内にインストールします。

(注意)PHPUnit本体のバージョンがDBUnit拡張をサポートしている必要があります。
詳細は下記参照

【PHPUnit 9.5】PHP Fatal error: Trait ‘PHPUnitDbUnitTestCaseTrait’ not found

既存のcomposer.jsonにdbunitを追記。

コマンド composer updateを実行してライブラリを追加でインストールします。

これにより、テストケース内からDBをテストするための様々な拡張機能が利用できるようになります。

(SAMPLE)

テスト用DBを作成


今回はMySQLを使用していますが、基本的にどのDB(RDBMS)でもテストの実行方法は同じかと思います。

テスト対象として一つのテーブルbooksを作成する。
(DB作成のSQLはダウンロードサンプル内、database.sqlに用意しています)

(注意)
ユニットテストで使用するDBは都度データを書き換えるため、開発用で使用しているDBとは別にコピーを用意する必要があります。

テスト対象プログラム

Book.php

次回の記事でテストを作成、実行していきます。

Follow me!

PHPUnitでユニットテスト⑤ データベースをテストする 前編” に対して1件のコメントがあります。

コメントは受け付けていません。