我试图写一个使用Zend和PHPUnit的我怎么重写PHP:做单元测试时//输入
在代码中,我从PHP获取数据的控制器单元测试://输入
$req = new Zend_Controller_Request_Http();
$data = $req->getRawBody();
当我测试真正的应用程序时,我的代码工作正常,但除非我可以将数据作为原始http文章提供,否则$ data将始终为空。 getRawBody()方法基本上调用file_get_contents('php:// input'),但是如何覆盖它以便将测试数据提供给我的应用程序。
叶氏,不是一个完美的解决方案,但如何我已经决定要实现这一点。谢谢。 – 2010-07-12 21:45:24
我不会推荐这个解决方案 - 使用if语句在单元测试和生产中执行不同的代码。理想情况下,您希望代码在两个世界中执行相同的逻辑语句。请参阅下面的@ MitMaro解决方案,该解决方案使用可配置的输入路径。 – 2016-11-10 23:04:16