assertStringMatchesFormat()

最后更新于:2022-04-01 03:48:04

# assertStringMatchesFormat() >[info] ## assertStringMatchesFormat(string $format, string $string[, string $message = '']) 当 `$string` 不匹配于 `$format` 定义的格式时报告错误,错误讯息由 `$message` 指定。 `assertStringNotMatchesFormat()` 是与之相反的断言,接受相同的参数。 **Example A.35. assertStringMatchesFormat() 的用法** ~~~ <?php class StringMatchesFormatTest extends PHPUnit_Framework_TestCase { public function testFailure() { $this->assertStringMatchesFormat('%i', 'foo'); } } ?> ~~~ ~~~ phpunit StringMatchesFormatTest PHPUnit 5.0.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`:单个任意字符。
';