为什么梨不能在phpt测试中识别正则表达式?

时间:2011-11-19 15:19:27

标签: php unit-testing phpunit phpt

我正在尝试为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)。

我不确定我在这里做错了什么......有什么想法吗?

1 个答案:

答案 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