8
stdinから読み込んだ値を返すreaderクラスがあります。PHPUnitでのSTDINのテスト方法
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()
機能によってreaded値を返すことができるか、でしょうか?
コマンドラインでthスクリプトを実行 –
vfsStreamと呼ばれるPHPUnit用の拡張ファイルシステムがありますが、これは助かりましたが、ドキュメントには何も言われていない可能性があります。しかし、おそらく一桁の価値がある?それはGitHubにあります。代わりにここでは、読んでみる価値のある関連するQAがあります:http://stackoverflow.com/questions/9158155/how-to-write-unit-tests-for-interactive-console-app –