skillup

技術ブログ

PHP

CakePHP3系でのテスト処理

投稿日:

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。

準備

phpunit

phpunitがインストールされているかをチェック。ディフォルトだとインストールされているはずですが。

インストールされていれば vendor/bin/phpunitがあるはず。ない場合はcomposer.jsonに足してcomposer経由でインストールをする。

下記のように記述してあげればOKです。

テスト用のDB

app.phpでtest用のデータベースがしっかり設定されているか。

実際につながっているサーバーとテストでつかうサーバーは設定で必ず分けましょう。

Fixtureとは

一般的にデータベースを使わないシステムはあまりありませんが、データベースを伴うテストは実行が難しいことも多いです。

難しい理由としては前提となる状態を常に保存しておくのが困難です。そのため一時的にテストのために使うデータベースのような状態をFixtureといいます。これにより、常にデータベースを目的の状態にしておくことができます。

bakeで自動生成

ゼロからテストファイルを作らなくても、bakeで自動生成してあげればテストのファイルも自動で作られます。よくわからないうちはこれを実行したり、いじるのが一番楽でしょう。

実行

上記の設定で問題なければ

でテストが通るはず。controller→model→viewと実行されていきます。
一部のテストケースだけ実行したい場合は下記のように入力すればOK。

他参考リンクなど

http://book.cakephp.org/3.0/ja/development/testing.html

http://qiita.com/ran/items/d8e234250c77e8dcd40e

-PHP
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CakePHP3 リクエストパラメーターの扱いについて

CakePHPのリクエストの扱いについて。 ほとんどのフレームワークですと、HTTPリクエストの扱いに関してはフレームワーク側で実装されていることが多いので、フレームワークを使い始める場合、この部分に …

no image

cakePHP Tips

cakeでの気づいたTipsなど。 知っているといろんな部分で開発が楽になります。 Contents1 作成日と更新日の自動設定2 scaffold3 新規登録と編集画面の作成4 htmlヘルパー5 …

no image

PHPメモリ測定

プログラムのメモリ測定に関して。今回はWordPressの処理に関してです。 まずはソースから。 処理を入れているファイルはルートディレクトリ直下のindex.phpです。 [crayon-5c903 …

no image

cakePHPでのCSVダウンロード

cakePHPにてCSVのダウンロードなんぞを。 以前このエントリーでCSVダウンロードに関しては取り扱ったのですが、 ボタンを押す ファイルダイアログが開く パスを選ぶ 意図したデータを正常にダウン …

no image

composerでのライブラリ登録

今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。 Contents1 ライブラリの作成2 packagistへの登録3 呼び出す側3.1 composer.json3.2 …