8
0

はじめに

こんにちは、エンジニアの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,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, )
//ng
assertGreaterThan(2, 2)
//ng
assertGreaterThan(2, 1)

assertGreaterThanOrEqual()

第二引数が第一引数以上であることを確認します。

//ok
assertGreaterThanOrEqual(2, )
//ok
assertGreaterThanOrEqual(2, 2)
//ng
assertGreaterThanOrEqual(2, 1)

assertLessThan()

第二引数が第一引数より小さいことを確認します。

//ng
assertLessThan(2, )
//ng
assertLessThan(2, 2)
//ok
assertLessThan(2, 1)

assertLessThanOrEqual()

第二引数が第一引数以下であることを確認します。

//ng
assertLessThanOrEqual(2, )
//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

この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。

最後まで読んでいただきありがとうございました!

参考

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0