PHPUnit9.0 斷言-assertStringMatchesFormat()

2022-03-24 10:25 更新

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

PHPUnit9.0 斷言集合PHPUnit9.0 斷言集合

當(dāng) ?$string? 不匹配于 ?$format? 定義的格式時報告錯誤,錯誤訊息由 ?$message? 指定。
?assertStringNotMatchesFormat()? 是與之相反的斷言,接受相同的參數(shù)。
示例 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 系統(tǒng)中是 ?/?
  • ?%s?:一個或多個除了換行符以外的任意字符(非空白字符或者空白字符)
  • ?%S?:零個或多個除了換行符以外的任意字符(非空白字符或者空白字符)
  • ?%a?:一個或多個包括換行符在內(nèi)的任意字符(非空白字符或者空白字符)
  • ?%A?:零個或多個包括換行符在內(nèi)的任意字符(非空白字符或者空白字符)
  • ?%w?:零個或多個空白字符
  • ?%i?:帶符號整數(shù)值,例如 ?+3142?、?-3142?
  • ?%d?:無符號整數(shù)值,例如 ?123456?
  • ?%x?:一個或多個十六進(jìn)制字符。所謂十六進(jìn)制字符,指的是在以下范圍內(nèi)的字符:?0-9?、?a-f?、?A-?F
  • ?%f?:浮點數(shù),例如 ?3.142?、?-3.142?、?3.142E-10?、?3.142e+10?
  • ?%c?:單個任意字符
  • ?%%?:原本的百分比字符:?%?


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號