PHPT - Невозможно запустить примеры тестов, которые используют --POST_RAW-- - PullRequest
4 голосов
/ 12 февраля 2011

Этот тест .PHPT завершен: (из документов PHPT)

Файл: strtr.phpt

--TEST--
strtr() function - basic test for strstr()
--FILE--
<?php
/* Do not change this test it is a README.TESTING example. */
$trans = array("hello"=>"hi", "hi"=>"hello", "a"=>"A", "world"=>"planet");
var_dump(strtr("# hi all, I said hello world! #", $trans));
?>
--EXPECT--
string(32) "# hello All, I sAid hi planet! #"

$ pear run-tests --cgi strtr.phpt

Выход:

Running 1 tests
PASS strtr() function - basic test for strstr()[uploadTest.phpt]
TOTAL TIME: 00:00
1 PASSED TESTS
0 SKIPPED TESTS

Однако, когда я пытаюсь запустить другой пример теста, например sample006.phpt, и любой другой тест, использующий секции --GET--, --POST--, --POST_RAW-- и т. Д., Тесты всегда потерпеть неудачу.

Моя цель Big Picture - проверить загрузку файлов в PHPUnit с помощью PHPT, как описано в Тестирование загрузки файлов с помощью PHP . Пример --POST_RAW--, использованный в этой статье, тоже мне не удался, тогда как другие примеры прошли успешно.

Может показаться, что у меня проблема с локальным конфигом, но я понятия не имею, где бы это отследить. К сожалению, не так много в Google.

Одна вещь, которую я заметил между этими --POST-- неудачными тестами и другими обычными тестами, состоит в том, что регулярные неудачные тесты всегда заполняют файл *.out ошибочным выводом скрипта. Неудачные тесты --POST-- не содержат ничего в файле *.out, даже если я явно выводю текст.

Работают ли эти примеры тестов PHPT с использованием --POST_RAW-- для кого-либо еще?

Вот мои системные характеристики: (php 5.2, os x 10.6)

$ pear -V
PEAR Version: 1.9.1
PHP Version: 5.2.13
Zend Engine Version: 2.2.0
Running on: Darwin mbp.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386

Ответы [ 2 ]

2 голосов
/ 03 марта 2012

Вам необходимо предоставить исполняемый файл php-cgi для опции --cgi.Примерно так

run-тесты груши --cgi = / usr / bin / php-cgi strtr.phpt или run-тесты груши --cgi = php-cgi strtr.phpt

IЯ потратил почти день, пытаясь это выяснить, когда я прочитал документацию по тестам выполнения справки по груше, это имеет смысл сейчас, но в то время я полностью замалчивал тот факт, что ему нужен исполняемый файл.

2 голосов
/ 31 марта 2011

Для работы этих тестов необходима версия PHP CGI.

...