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でのコレクションに関して

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。 配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを …

no image

cakePHP3インストール

PHP7に上がりましたが、それ以前にcakeがversion3になっていますね。 いずれはこれでリプレイスをしなくてはいけないので、今日とりあえずインストールしてみました。 原則としてcomposer …

no image

xdebugに関して

PHPでお手軽にできるdebugツールとしてxdebugを。 Contents1 利点2 インストール3 参考リンク 利点 var_dumpの結果が非常に見やすい(単純ですがこれが一番大きい理由です。 …

no image

cakeでのトランザクション、コミット、ロールバック

cakePHP(2.X系)でのトランザクション、コミット、ロールバックについて。 cakePHPでトランザクションを書ける場合、Model内に [crayon-5ce7c1986fc0d8347908 …

no image

CakePHPでの数字カンマ区切り&PHP&MySQL曜日の出力

今回は主に時間やお金の表示など、出力に関するネタです。 Contents1 Cakeでのカンマ区切り1.1 単純なカンマ区切り 例1,0001.2 \をつけるケース 例 \1,0001.3 円をつける …