2011-11-19 27 views
3

我正在嘗試編寫一個PHPUnit extiontion的測試,我正在研究哪個測試需要一個正則表達式匹配器。爲什麼梨不能識別phpt測試中的正則表達式?

PHPT文件的文檔指出有一個%r標誌可用於匹配--EXPECTF--測試部分中的正則表達式。你可以從中得到更多的細節:PHPT - Test File Layout

我試過在我的測試中使用它,但它總是失敗!所以我決定寫一個簡單的測試,以檢查問題和測試是這樣的:

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

echo '1'; 

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

當我運行它使用梨的run-tests命令測試失敗。該.diff文件包含以下內容:

001- %r.%r 
001+ 1 

看來,如果這個標籤沒有得到通過測試亞軍的認可。所以我試圖找到一個在PHP源代碼測試中使用這個標籤的例子。只有一個測試使用它(內部:php-src-5.3/ext/standard/tests/network/gethostbyaddr_basic1.phpt)。

我不知道我在做什麼錯在這裏...任何想法?

回答

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] 

如果你看看PEAR的版本<PHP prefix>/lib/php/PEAR/RunTest.php周圍線520,你會發現它不支持%r

+0

'--EXPECTREGEX - '會將它下面的整個部分解析爲正則表達式。我試圖用正則表達式解析輸出的一部分。 – Maher4Ever

+0

@Maher權利。檢查我的編輯。 – Artefacto

+0

你說得對,梨不支持它...謝謝! – Maher4Ever

相關問題