3

テストの予想されるセクションに正規表現マッチャーが必要な、作業中のPHPUnit拡張のテストを作成しようとしています。

PHPTファイルのドキュメントには、テストのセクションで%r正規表現を照合するために使用できるフラグがあると記載されています。--EXPECTF--詳細については、PHPT-テストファイルレイアウトを参照してください。

テストで使用しようとしましたが、常に失敗します。そこで、問題を確認するための簡単なテストを作成することにしました。テストは次のようになりました。

--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のソースのテストでこのタグを使用する例を見つけようとしました。それを使用して見つかったテストは1つだけでした(内部: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 に答える