2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

よく利用するPHPUnitアサーション(assertion)についてまとめてみた

Last updated at Posted at 2023-06-16

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のアサーションについて

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?