我正在尝试使用vfsStream来模拟文件系统操作(实际上是从php://输入读取),但缺乏体面的文档和示例实际上是在妨碍我.
我正在测试的类中的相关代码如下:
class RequestBody implements iface\request\RequestBody
{
const
REQ_PATH = 'php://input',
protected
$requestHandle = false;
/**
* Obtain a handle to the request body
*
* @return resource a file pointer resource on success, or <b>FALSE</b> on error.
*/
protected function getHandle ()
{
if (empty ($this -> requestHandle))
{
$this -> requestHandle = fopen (static::REQ_PATH, 'rb');
}
return $this -> requestHandle;
}
}
Run Code Online (Sandbox Code Playgroud)
我在PHPUnit测试中使用的设置如下:
protected function configureMock ()
{
$mock = $this -> getMockBuilder ('\gordian\reefknot\http\request\RequestBody');
$mock -> setConstructorArgs (array …Run Code Online (Sandbox Code Playgroud) 我有一个控制台应用程序,(写成的Symfony2命令)通过读取来自用户的输入STDIN,并与帮助readline,用户输入随后被传递到eval()
整个过程只是用于"调试shell"(类似于a php -a)但在项目环境和依赖注入容器访问中.
我想为这个命令编写单元测试,但是我正在打击墙,关于如何(并且可能)为这种行为编写PHPUnit测试?