PHPUnit9.0 编写PHPUnit测试-对异常进行测试

2022-05-11 17:19 更新

示例 2.11 展示了如何用 ​@expectException​ 标注来测试被测代码中是否抛出了异常。

示例 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()​ 方法可以用于为被测代码所抛出的异常建立预期。

注意 ​expectExceptionMessage()​ 断言的是 ​$actual​ 讯息包含有 ​$expected​ 讯息,并不执行精确的字符串比较。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号