PHPUnitとvfsStreamでmove_uploaded_fileとis_uploaded_fileをテストしようとしました。彼らは常にfalseを返します。vfsStreamでmove_uploaded_fileとis_uploaded_fileをテストします。
public function testShouldUploadAZipFileAndMoveIt()
{
$_FILES = array('fieldName' => array(
'name' => 'file.zip',
'type' => 'application/zip',
'tmp_name' => 'vfs://root/file.zip',
'error' => 0,
'size' => 0,
));
vfsStream::setup();
$vfsStreamFile = vfsStream::newFile('file.zip');
vfsStreamWrapper::getRoot()
->addChild($vfsStreamFile);
$vfsStreamDirectory = vfsStream::newDirectory('/destination');
vfsStreamWrapper::getRoot()
->addChild($vfsStreamDirectory);
$fileUpload = new File_Upload();
$fileUpload->upload(
vfsStream::url('root/file.zip'),
vfsStream::url('root/destination/file.zip')
);
$this->assertFileExists(vfsStream::url('root/destination/file.zip'));
}
可能ですか?それ、どうやったら出来るの? PHPコードを使用するだけで、フォームなしでvfsStreamFile(または任意のデータ)を投稿できますか? ありがとうございます。
これらの機能を使用してユニットテストを行うにはどうすればよいですか?ありがとう。 – user972959
実際は考えていません。私はphpunitを使ったことがありません。ここにはいくつかのものがあります:http://stackoverflow.com/questions/3402765/how-can-i-write-tests-for-file-upload-in-php特にphpunitのためではありません。 –