2022年10月1日に書いた記事です。
公式ドキュメントではジャンル分けされていなくてパッと利用したくてもできなかったのでよく利用するPHPUnitアサーションについて簡単にまとめました。
現在利用しているテストの方法としては、細かな検証はprophecyのモック方式で行ってその結果をアサーションで検証している感じで運用しています。
等しいかどうか
assertEquals()
予測値と実際の結果を比較して等しいかどうかを検証する際に利用します。
assertEquals(mixed $expected, mixed $actual[, string $message = ''])
2つの変数$expected
と$actual
が等しくない場合にエラー$message
を報告します。
assertNotEquals()はこのアサーションの逆で、同じ引数をとります。
assertSame()
予測値と実際の結果を比較して同じ型・同じ値であるかどうかを検証する際に利用します。
assertSame(mixed $expected, mixed $actual[, string $message = ''])
2つの変数$expected
と$actual
が同じ型・同じ値でない場合にエラー$message
を報告します。
assertNotSame()はこのアサーションの逆で、同じ引数をとります。
※assertSame()の方が型まで検証されるのでよほどのことがない限りassertSame()を利用するのが良さそうです。
論理値の検証
assertTrue()
trueかどうかを検証したい時に利用します。
assertTrue(bool $condition[, string $message = ''])
$condition
がfalseの場合にエラー$message
を報告します。
assertNotTrue() はこのアサーションの逆で、同じ引数をとります。
assertFalse()
falseかどうかを検証したい時に利用します。
assertFalse(bool $condition[, string $msg = ''])
$condition
がtrueの場合にエラー$message
を報告します。
assertNotFalse() はこのアサーションの逆で、同じ引数をとります。
assertIsBool()
bool型(trueかfalse)かどうかを検証したい時に利用します。
assertIsBool($actual[, string = ''])
$actual
の型が boolでない場合にエラー$message
を報告します。
assertNotFalse()はこのアサーションの逆で、同じ引数をとります。
空かどうかの検証
assertEmpty()
配列が空であるかどうか検証したい時に利用します。
assertEmpty(mixed $actual[, string $message = ''])
$actual
が空でない場合にエラー$message
を報告します。
assertNotEmpty()はこのアサーションの逆で、同じ引数をとります。
assertNull()
NULLであるか検証したい時に利用します。
assertNull(mixed $variable[, string $message = ''])
$variableが
NULLでないときにエラー
$message`を報告します。
assertNotNull() はこのアサーションの逆で、同じ引数をとります。
数の検証
assertCount()
配列の数を検証したい時に利用します。(以外に利用場面があります。)
assertCount($expectedCount, $haystack[, string $message = ''])
$haystack
の要素数が$expectedCount
でない場合にエラー$message
を報告します。
assertNotCount()はこのアサーションの逆で、同じ引数をとります。
インスタンスの検証
assertInstanceOf()
インスタンスかどうか検証したい場合に利用します。
assertInstanceOf($expected, $actual[, $message = ''])
$actual
が$expected
のインスタンスでない場合にエラー$message
を報告します。
assertNotInstanceOf()はこのアサーションの逆で、同じ引数をとります。
参考
- PHPUnit公式ドキュメントアサーションについて
- PHPUnitのアサーションについて