以前、WordPressの関数やクエリにも対応させたPHPUnitの導入方法をメモとして残しておいた。
【続】PHPUnitテストを「WordPress Test Suite」を使ってWPでも動かす
今回はその応用というか、PHPUnitを動かすためのお作法的なルールや実行するコマンド、テスト内容(メソッド)の種類などをメモしておく。
以前、WordPressの関数やクエリにも対応させたPHPUnitの導入方法をメモとして残しておいた。
【続】PHPUnitテストを「WordPress Test Suite」を使ってWPでも動かす
今回はその応用というか、PHPUnitを動かすためのお作法的なルールや実行するコマンド、テスト内容(メソッド)の種類などをメモしておく。
Table of Contents
PHPUnitではテストを実行する際に様々なオプションを付けれる。
例えば特定のファイルのメソッドだけを単体でテストするとか、すべてのファイルの中身をテストするとか。
・/test内のファイルをすべてテスト
vendor/bin/phpunit
・特定のファイルだけテスト
vendor/bin/phpunit tests/ConfigTest.php
・特定のメソッドだけテスト(単体テスト)
vendor/bin/phpunit --filter category_exists
・特定クラスだけ
vendor/bin/phpunit --filter CategoryTestPHPUnitが持っているメソッド(Assertions)も重要だ。
PHPUnitには 大量の assert メソッドがあり、「実際の結果」が「期待する結果」と一致するか確認する
もっと言うと、テストしたいプログラムの戻り値や戻り値以外のテストも可能となる。
よく使うものメソッドは下記のとおりだ。
assertTrue() trueか
assertFalse() falseか
assertEquals() 値が同じ
assertSame() 型も含め完全一致
assertNull() nullか
assertIsArray() 配列か
assertIsString() 文字列か
assertCount() 要素数
assertArrayHasKey() 配列キー存在
assertInstanceOf() クラス型これらはプログラムの結果がどんな型なのかを把握しておく必要があるだろう。
ここからはPHPUnitテストのルールや自分が躓いたカ所を箇条書きでメモしておく。
今自分は、このWP向けユニットテストはプラグインみたいにパッケージ化できないを検討している。
近いうちにGithubには上げたいなと思う。
Laravelのeditフォームだけselectのバリデーションエラーになる原因と解決方法
Laravel マイグレーション命名規則とカラム操作コマンド一覧【コピペOK】