我有读取器类,它从标准输入读取并返回读取值。
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);
}
}
现在是我的问题,我如何测试这个类,从 stdin 读取一些东西并通过 getReadedValue()
函数返回读取的值?
最佳答案
您测试Reader,而不是 STDIN 是否正常工作。
因为您测试的是单元(Reader),文件名是什么并不重要,因为它只是可选的。您可以注入(inject)不同的内容,例如临时文件的文件名。
关于php - 如何在 PHPUnit 中测试 STDIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15957533/