PHPT - 无法运行使用 --POST_RAW-- 的示例测试

标签 php unit-testing post phpunit phpt

此 .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/

相关文章:

PHP 字符串到 "unsigned long"(来自 C++)

java - 将 Mockito VerificationModes 与 JUnit 参数化测试相结合?

JavaScript 单元测试

php - 在 PHP 中发布数组

php - 在线考试Mysql数据库设计

php - 如何使用 php 中的 jQuery 对象?

c# - Rhino.Mocks.Exceptions.ExpectationViolationException : Expected #1, 实际 #2

javascript - 对 Action 标签感到困惑

java - HttpClient POST 提交表单失败+结果字符串被截断(不完整)

javascript - 基本的多文件上传不适用于移动设备