2010-10-06 39 views
1

我解析一个PUT查询是这样的:如何测试PUT请求解析PHPUnit中

$raw = file_get_contents('php://input'); 
$params = array(); 
parse_str($raw, $params); 

,我想一些测试内容注入php://input测试它(和一些非单元测试也)。

我试图谷歌有点事,但'放'是一个简短的关键字,我没有得到任何相关的。

如果PHP 5.3已经有基础架构(我无法在发行说明中找到任何内容),我已准备好更改一下我的解析代码以帮助测试或删除它。

回答

3

你不能写入php://input流(通常你只能读一次)。不是对流位置进行硬编码,而是如何让它在解析器中进行配置?这样你就可以在单元测试中使用一个模拟对象,它具有不同的位置(例如文件或php://temp流)。

+0

+1使用依赖注入切换要测试的流。 – 2011-05-03 14:21:07