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