【发布时间】:2013-04-04 03:57:06
【问题描述】:
我有从标准输入读取并返回读取值的阅读器类。
class Reader
{
const STREAM_READ = 'php://stdin';
private $_streamHandle;
public function __construct($stream = self::STREAM_READ)
{
$this->_streamHandle = fopen($stream, 'r');
}
public function getReadedValue()
{
$value = trim(fgets($this->_streamHandle));
return $value;
}
public function __destruct()
{
fclose($this->_streamHandle);
}
}
现在是我的问题,我如何测试这个类,从标准输入读取内容并通过getReadedValue() 函数返回读取的值?
【问题讨论】:
-
用命令行执行脚本
-
PHPUnit 有一个名为 vfsStream 的文件系统模拟扩展,我认为这可能会有所帮助,但文档什么也没说,所以可能没有。也许值得一试?它在 GitHub 上。或者,这里有一个可能值得一读的相关 QA:stackoverflow.com/questions/9158155/…
标签: php testing tdd phpunit bdd