此 .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
最佳答案
您需要有 PHP CGI 版本才能使这些测试正常工作。
关于PHPT - 无法运行使用 --POST_RAW-- 的示例测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974727/