{category}

PHP - ユニットテスト

アサーション

アサーション(エラー処理・デバッグ・テスト

意味 テストの結果が期待通りか検証


アサーションとは?

アサーションは、ユニットテストにおいて、期待される結果と実際の結果を比較するための方法です。PHPUnitなどのテストフレームワークでは、様々なアサーションメソッド(assertEquals, assertTrue, assertFalseなど)が提供されており、これらを使用してテストケースの正確性を確認します。また、英単語としての「アサーション」は一般的に「主張」という意味を持ちます。

アサーションの具体的な使い方

様々なアサーションの使用例

<?php
use PHPUnit\Framework\TestCase;

class AssertionExampleTest extends TestCase
{
    public function testVariousAssertions()
    {
        $array = [1, 2, 3];
        $string = 'テスト文字列';
        $number = 42;

        $this->assertCount(3, $array);
        $this->assertContains(2, $array);
        $this->assertStringContainsString('文字列', $string);
        $this->assertGreaterThan(40, $number);
        $this->assertLessThanOrEqual(42, $number);
        $this->assertNull(null);
        $this->assertTrue(true);
        $this->assertFalse(false);
    }
}

👇出力結果

PHPUnit 9.5.0 by Sebastian Bergmann and contributors.

.

Time: 00:00.002, Memory: 4.00 MB

OK (1 test, 8 assertions)

この例では、PHPUnitの様々なアサーションメソッドを使用しています。配列の要素数、要素の含有、文字列の部分一致、数値の比較、null値の確認、真偽値のチェックなど、多様なテストケースを示しています。これらのアサーションを使用することで、コードの様々な側面を効果的にテストできます。

アサーションに関するよくある質問

Q. アサーションとは何ですか?
A. アサーションは、プログラムの特定の地点で特定の条件が真であることを確認するための文や関数です。ユニットテストでは、テストケースの期待される結果と実際の結果を比較するために使用されます。
Q. PHPUnitの主なアサーションは?
A. PHPUnitの主なアサーションには、assertEquals(値が等しいか)、assertTrue/assertFalse(真/偽か)、assertNull/assertNotNull(null/not nullか)、assertContains(要素を含むか)などがあります。これらを使って様々な条件をテストできます。
Q. アサーションの使い方の基本は?
A. アサーションの基本的な使い方は、アサーションメソッド(例:assertEquals)の第一引数に期待値、第二引数に実際の値を渡します。PHPUnitはこれらの値を比較し、テストの成功または失敗を判断します。例:$this->assertEquals(expected, actual);

アサーションが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのアサーションやerror_reporting()、extends Exception、catch、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

error_reporting()

エラー報告レベルの設定

種類: エラー報告

extends Exception

カスタム例外クラスの作成

種類: カスタム例外

catch

発生した例外を捕捉する

種類: 例外処理

グローバル

どこからでもアクセス可能な変数

種類: 変数のスコープ

echo

画面に文字を表示する命令

種類: PHP言語構造