はじめに
こんにちは、エンジニアのkeitaMaxです。
PHPUnitのAssertionsについて自分なりにまとめてみました。
Boolean
assertTrue()
中身がtrueであることを確認するものです。
//ok
assertTrue(true)
//ng
assertTrue(false)
assertFalse()
中身がfalseであることを確認するものです。
//ok
assertTrue(true)
//ng
assertTrue(false)
2つの値が正しいことの確認
assertSame()
===
と同じように第一引数と第二引数が同じであることを確認します。
//ok
assertSame("10","10")
//ng
assertSame("10",10)
//ng
assertSame("10","30")
assertEquals()
==
と同じように第一引数と第二引数が同じであることを確認します。
//ok
assertSame("10","10")
//ok
assertSame("10",10)
//ng
assertSame("10","30")
配列関係
assertArrayHasKey()
指定された配列のkeyがあることを確認します。
//ok
assertArrayHasKey('foo', ['foo' => 'bar'])
//ng
assertArrayHasKey('foo', ['bar' => 'baz'])
assertContains()
配列の中に指定された値があるかを確認します。
//ok
assertContains(1, [1,2,3])
//ng
assertContains(4, [1,2,3])
assertCount()
配列の要素数を確認します。
//ok
assertCount(3, [1,2,3])
//ng
assertCount(1, [1,2,3])
数字の比較
assertGreaterThan()
第二引数が第一引数より大きいことを確認します。
//ok
assertGreaterThan(2, 3)
//ng
assertGreaterThan(2, 2)
//ng
assertGreaterThan(2, 1)
assertGreaterThanOrEqual()
第二引数が第一引数以上であることを確認します。
//ok
assertGreaterThanOrEqual(2, 3)
//ok
assertGreaterThanOrEqual(2, 2)
//ng
assertGreaterThanOrEqual(2, 1)
assertLessThan()
第二引数が第一引数より小さいことを確認します。
//ng
assertLessThan(2, 3)
//ng
assertLessThan(2, 2)
//ok
assertLessThan(2, 1)
assertLessThanOrEqual()
第二引数が第一引数以下であることを確認します。
//ng
assertLessThanOrEqual(2, 3)
//ok
assertLessThanOrEqual(2, 2)
//ok
assertLessThanOrEqual(2, 1)
インスタンス
assertInstanceOf()
インスタンスが同じかどうかを確認します。
//ok
assertInstanceOf(Exception::class, new Exception)
//ng
assertInstanceOf(RuntimeException::class, new Exception)
おわりに
個人的によく使うのはこの辺りかなと思っています。
今後よく使用するものがあったらここに追加していこうと思ってます。
また、その他のAssertionsを知りたい人は以下URLを参考にしてください。
https://docs.phpunit.de/en/10.5/assertions.html
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!
参考