BookmarkLINEこの記事は、LaravelとPHPUnitを用いてユニットテストを書く為のサンプルアプリケーションの作成記事です。開発環境は以下の通りです。1.8.4Laravelのルートディレクトリを「laravel/」とします。今回は名前を管理するアプリケーションを作成します。マイグレーション作成まずはDBへ、テーブル作成と共にデータを注入します。以下のartisanコマンドを叩いてマイグレーションファイルを生成します。xxxx_create_member_table.php今回は名前を持つだけのシンプルなテーブルにしました。マイグレーションは以下に定義します。次はシーダを定義して初期投入データを作成します。以下のartisanコマンドを叩いてシーダーファイルを生成します。MembersTableSeeder.php初期データは以下のように定義しました。}}10件のレコードを挿入しています。DatabaseSeederに追加します。}}シーダを作成したらComposerのオートローダを再生成する必要があるので、以下のcomposerコマンドを叩きます。classesマイグレーション&シーディング実行データ部分の定義が完了したので、マイグレーションとシーディングを実行します。successfully.MySQLにログインしてテーブルの作成・データの挿入を確認できました。今回は操作にEloquentORMを用いるのでモデルを生成します。以下のartisanコマンドを叩いてモデルクラスを生成します。Member.php今回は生成されたデフォルトのままで使用するのでモデルクラスはこのままでOKです。実際にDBとやり取りをしてデータベースを操作するクラス(DAO)を作成します。Repositoryパターンで作成していきます。repositoriesディレクトリを作成し、その中にクラスを作成します。インターフェイスを作成します。void;}データベース操作の基本CRUDを定義しています。純粋な配列で返すように制約を設けています。次に、このインターフェイスを実装します。}}サービスプロバイダ定義データベース操作クラスをDI(依存性の注入)できるようにします。以下のartisanコマンドを叩いてサービスプロパイダを生成します。RepositoryServiceProvider.phpこれを以下に定義します。}}最後に、サービスプロパイダを登録します。App\Providers\RepositoryServiceProvider::class,],コントローラ作成コントローラを作成します。以下のartisanコマンドを叩いてコントローラを生成します。successfully.コントローラを以下に定義します。}}最後に、ルーティングを記述します。'SampleController@index');まずはここまでです。コントローラのindexメソッド内にあるコメントアウトを外せばデータベース操作が行われます。あとは記事の進行とともにここのソースや手順も追加していきます。BookmarkLINELaravelとPHPUnitでDB操作クラスのユニットテストを行うLaravel&CircleCIで継続的インテグレーション。ユニットテスト、静的コード解析、E2Eテストなど。SESを使ってAPIメール送信を行う(Mailableクラス&SimpleEmailService)2019.12.3MySQL8.0.16で追加されたCHECK制約を試してみる。RitoLaboこのサイトについて利用規約プライバシーポリシ。