PHPUnit9.0 編寫PHPUnit測試-對異常進(jìn)行測試

2022-05-11 17:19 更新

示例 2.11 展示了如何用 ?@expectException? 標(biāo)注來測試被測代碼中是否拋出了異常。

示例 2.11 使用 ?expectException()? 方法

<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;

final class ExceptionTest extends TestCase
{
    public function testException(): void
    {
        $this->expectException(InvalidArgumentException::class);
    }
}
$ phpunit ExceptionTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.

F

Time: 0 seconds, Memory: 4.75Mb

There was 1 failure:

1) ExceptionTest::testException
Failed asserting that exception of type "InvalidArgumentException" is thrown.

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

除了 ?expectException()? 方法外,還有 ?expectExceptionCode()?、?expectExceptionMessage()? 和 ?expectExceptionMessageMatches()? 方法可以用于為被測代碼所拋出的異常建立預(yù)期。

注意 ?expectExceptionMessage()? 斷言的是 ?$actual? 訊息包含有 ?$expected? 訊息,并不執(zhí)行精確的字符串比較。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號