【Laravel】よく使うAssertメソッドまとめ

こんにちは!CODE CLUB965のKです!

今回は、Laravel に標準搭載されているPHPUnitでよく使うAssertメソッドについてまとめておこうと思います。

Assertメソッド一覧

よく目にするのは以下のようなassertメソッドかと思います。

メソッド内容
assertNull($val)$val が NULL である
assertNotNull($val)$val が NULL でない
assertEquals($val, $val2)$val1 が $val2 と等しい
assertSame($val1, $val2)$val1 と $val2 が型も含めて等しい
assertInternalType($type, $val)$val の型名が $type である
assertRegExp($pattern, $str)$str が正規表現 $pattern と一致する

また、大小の比較を行いたい場合は、以下のようなメソッドもあります。

メソッド内容
assertGreaterThan($expect, $val)$expect < $val が成り立つ
assertGreaterThanOrEqual($expect, $val)$expect <= $val が成り立つ
assertLessThan($expect, $val)$expect > $val が成り立つ
assertLessThanOrEqual($expect, $val)$expect >= $val が成り立つ

booleanのテストをしたい場合は、以下のメソッドが利用できます。

メソッド内容
assertTrue($val)$val が true である
assertFalse($val)$val が false である

配列関係は以下のメソッドも使えます。

メソッド内容
assertArrayHasKey($key, $arr)配列 $arr に、$key が存在する
assertContains($val, $arr)配列 $arr に $val が存在する
assertContainsOnly($type, $arr)配列 $arr の値の型が全て $type である
assertCount($count, $arr)配列 $arr の値の数が、$count である
assertEmpty($arr)配列 $arr が空である

オブジェクトやクラスについてテストしたい場合は、以下が使えます。

assertObjectHasAttribute($attr, $obj)オブジェクト $obj に、プロパティ変数の $attr が存在する
assertClassHasAttribute($attr, $class)クラス $class に、プロパティ変数 $attr が存在する
assertClassHasStaticAttribute($attr, $class)クラス $class に、静的プロパティ変数 $attr が存在する
assertInstanceOf($class, $instance)$instance がクラス $class のインスタンスである

ファイル系のテストでは以下が使えます。

assertFileExists($file)$file が存在する
assertFileEquals($file1, $file2)$file1 と $file2 の内容が等しい
assertJsonFileEqualsJsonFile($file1, $file2)$file1 と $file2 の内容が、jsonとして等しい
assertJsonStringEqualsJsonFile($file, $json)$file の内容と $json がjson として等しい

ざっとこんなところでしょうか。

上記については、全てのAssertメソッドを網羅しているわけではないので参考程度に見てください。
ただ、よく使うものについては書いていると思うので、ぜひ試してみてください。

それでは、また!

Follow me!