2011-12-05 6 views
2

AJAXファイルアップローダの単体テストをコーディングしています。私の保存機能の始まりは、次のようになります。私は$入力は、適切なテストデータが移入されたように、入力ストリームにデータを詰め込むための方法を見つけようとしているストリーム入力を伴うPHPユニットテストフォームアップローダ

$input = fopen("php://input", "r"); 
$temp = tmpfile(); 
$realSize = stream_copy_to_stream($input, $temp); 
fclose($input); 

読み込み前に出力ストリームに書き込みを試みましたが、すぐにstdioに出力されたようです。リクエスト変数を設定する方法の手がかりを得るためにファイルをアップロードしている間、私はFirebugでコンソールを見てきましたが、空白を打ちました。

私もこの試みた:

$inStream = fopen("php://input", "w"); 
$input = fopen("libs/inputfile.txt", "r"); 
stream_copy_to_stream($input, $inStream); 

をしかし$ realSizeは常に0を返します - 私は、これはPHPされているためと仮定しています://入力ストリームが読み取り専用

答えて

2

であるあなたがにfopen("php://input", "r");をラップすることができますカスタムクラス/メソッドを作成し、テストクラス/メソッドでそれをモックします。

関連する問題