PHPUnit9.0 断言-assertStringMatchesFormat()

2022-03-24 10:25 更新

assertStringMatchesFormat(string $format, string $string[, string $message = ''])

PHPUnit9.0 断言集合PHPUnit9.0 断言集合

当 ​$string​ 不匹配于 ​$format​ 定义的格式时报告错误,错误讯息由 ​$message​ 指定。
assertStringNotMatchesFormat()​ 是与之相反的断言,接受相同的参数。
示例 1.54 assertStringMatchesFormat() 的用法

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

final class StringMatchesFormatTest extends TestCase
{
    public function testFailure(): void
    {
        $this->assertStringMatchesFormat('%i', 'foo');
    }
}
$ phpunit StringMatchesFormatTest
PHPUnit latest.0 by Sebastian Bergmann and contributors.

F

Time: 0 seconds, Memory: 5.00Mb

There was 1 failure:

1) StringMatchesFormatTest::testFailure
Failed asserting that 'foo' matches PCRE pattern "/^[+-]?d+$/s".

/home/sb/StringMatchesFormatTest.php:6

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

格式定义字符串中可以使用如下占位符:

  • %e​:表示目录分隔符,例如在 Linux 系统中是 ​/
  • %s​:一个或多个除了换行符以外的任意字符(非空白字符或者空白字符)
  • %S​:零个或多个除了换行符以外的任意字符(非空白字符或者空白字符)
  • %a​:一个或多个包括换行符在内的任意字符(非空白字符或者空白字符)
  • %A​:零个或多个包括换行符在内的任意字符(非空白字符或者空白字符)
  • %w​:零个或多个空白字符
  • %i​:带符号整数值,例如 ​+3142​、​-3142
  • %d​:无符号整数值,例如 ​123456
  • %x​:一个或多个十六进制字符。所谓十六进制字符,指的是在以下范围内的字符:​0-9​、​a-f​、​A-​F
  • %f​:浮点数,例如 ​3.142​、​-3.142​、​3.142E-10​、​3.142e+10
  • %c​:单个任意字符
  • %%​:原本的百分比字符:​%


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

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号