我正试图为PHPUnit异常编写一个测试,我正在研究它在测试的预期部分需要一个正则表达式匹配器。
PHPT文件的文档说明有一个%r
标志,可以用来匹配测试的--EXPECTF--
部分中的regex。您可以从以下链接获得更多详细信息:PHPT - Test File Layout
我试着在我的测试中使用它,但它总是失败!所以我决定写一个简单的测试来检查这个问题,测试看起来像这样:
--TEST--
Test the %r tag of EXPECTF in phpt
--FILE--
<?php
echo '1';
?>
--EXPECTF--
%r.%r
当我使用pear的run-tests
命令运行它时,这个测试失败了。.diff
文件包含以下内容:
001- %r.%r
001+ 1
似乎这个标记不能被测试运行器识别。因此,我试图找到一个例子,其中使用这个标签的PHP源代码的测试。只有一个测试被发现使用它(在php-src-5.3/ext/standard/tests/network/gethostbyaddr_basic1.phpt)。
我不知道我做错了什么…什么好主意吗?
它只适用于PHP源代码发行版附带的run-tests.php
(在其根目录中),而不适用于PEAR版本。
如果你看一下PEAR在<PHP prefix>/lib/php/PEAR/RunTest.php
中的版本,大约520行,你会注意到它不支持%r
。