3

我正在尝试为我正在处理的 PHPUnit extiontion 编写一个测试,该测试需要在测试的预期部分使用正则表达式匹配器。

PHPT 文件的文档指出有一个%r标志可用于匹配--EXPECTF--测试部分中的正则表达式。您可以从以下获得更多详细信息:PHPT - 测试文件布局

我试图在我的测试中使用它,但它总是失败!所以我决定写一个简单的测试来检查问题,测试看起来像这样:

--TEST--
Test the %r tag of EXPECTF in phpt
--FILE--
<?php

echo '1';

?>
--EXPECTF--
%r.%r

run-tests当我使用 pear 的命令运行它时,这个测试失败了。该.diff文件包含以下内容:

001- %r.%r
001+ 1

似乎这个标签没有被测试运行者识别。所以我试图找到一个在 PHP 源代码测试中使用这个标签的例子。使用它只能找到一个测试(内部:php-src-5.3/ext/standard/tests/network/gethostbyaddr_basic1.phpt)。

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

4

1 回答 1

2

它仅适用run-tests.php于 PHP 源代码分发(在其根目录中)附带的版本,不适用于 PEAR 的版本。

PHPRC=。TEST_PHP_EXECUTABLE=./sapi/cli/php php run-tests.php a.phpt
PASS 测试 phpt [a.phpt] 中 EXPECTF 的 %r 标签

如果您在第 520 行查看 PEAR 的版本<PHP prefix>/lib/php/PEAR/RunTest.php,您会注意到它不支持%r.

于 2011-11-19T15:23:13.450 回答