Протестируйте move_uploaded_file и is_uploaded_file с помощью vfsStream

Я пытался протестировать move_uploaded_file и is_uploaded_file с помощью PHPUnit и vfsStream. Они всегда возвращают false.

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'));
}

Это правда? возможно? Как мне это сделать? Могу ли я опубликовать vfsStreamFile (или любые данные) без формы, просто используя PHP-код? Спасибо.

5
задан user972959 20 October 2011 в 17:33
поделиться