我正在尝试为PHPUnit extiontion编写一个测试我正在进行测试,需要在测试的预期部分使用正则表达式匹配器。
PHPT文件的文档说明有一个%r
标志,可用于匹配测试的--EXPECTF--
部分中的正则表达式。您可以从以下网址获取更多详细信息: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)。
我不确定我在这里做错了什么......有什么想法吗?
答案 0 :(得分:2)
它仅适用于PHP源代码分发(在其根目录中)附带的run-tests.php
,而不适用于PEAR的版本。
PHPRC=. TEST_PHP_EXECUTABLE=./sapi/cli/php php run-tests.php a.phpt
PASS Test the %r tag of EXPECTF in phpt [a.phpt]
如果您在第520行的<PHP prefix>/lib/php/PEAR/RunTest.php
中查看PEAR的版本,您会发现它不支持%r
。