此.PHPT测试完成:(from PHPT docs)
档案: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--
等部分的任何其他测试,测试总是失败。
我的大图片目标是通过PHPT测试PHPUnit中的文件上传,如Testing file uploads with PHP中所述。该文章中使用的--POST_RAW--
示例也不适合我,而其他示例则成功通过。
看起来我有一个本地配置问题,但我不知道我会在哪里跟踪它。不幸的是,谷歌并不多。
我注意到这些--POST--
测试失败并且其他常规测试失败的一件事是常规测试失败总是使用脚本输出失败填充*.out
文件。失败的--POST--
测试在*.out
文件中没有任何内容,即使我明确输出文本也是如此。
使用--POST_RAW--
的那些示例PHPT测试是否适用于其他任何人?
以下是我的系统规格:(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
答案 0 :(得分:2)
您需要使用PHP CGI版本才能使这些测试正常运行。
答案 1 :(得分:2)
您需要为--cgi选项提供php-cgi可执行文件。像这样的东西
pear run-tests --cgi = / usr / bin / php-cgi strtr.phpt 要么 pear run-tests --cgi = php-cgi strtr.phpt
我花了将近一天的时间试图解决这个问题,当我阅读梨帮助运行测试文档时,它现在有意义,但当时我完全掩盖了它想要可执行文件的事实。