PHPUnit9.0 断言-assertStringMatchesFormat()
2022-03-24 10:25 更新
assertStringMatchesFormat(string $format, string $string[, string $message = ''])
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:单个任意字符 -
%%:原本的百分比字符:%
以上内容是否对您有帮助:

免费 AI IDE


更多建议: