如何使用Laravel和vfsStream模拟文件系统? [Laravel 5.1]

时间:2016-05-20 15:34:08

标签: unit-testing laravel-5.1 vfs-stream

我有这样的要求:

$path = storage_path('testing/unnamed.png');
        $original_name = 'unnamed';
        $mime_type = 'image/png';
        $size = 2192;
        $error = null;
        $test = true;

        $file = new UploadedFile($path, $original_name, $mime_type, $size, $error, $test);



        $response = $this->call('POST', 'games', [
            'name' => 'TEST321',
            'category' => 'test',], [], ['picture' => $file], []);

并且存储图像如何模拟文件系统?

此外,这不通过laravel mime验证mimes:jpeg,bmp,png ...任何人都知道如何修复它?

2 个答案:

答案 0 :(得分:0)

laravel允许您通过调用' shouldReceive'来模拟任何门面。嘲弄方法:

 File::shouldReceive('move')
        ->with('arguments');

see the docs了解更多信息

答案 1 :(得分:0)

我编写并使用Laravel 5.4软件包https://packagist.org/packages/stechstudio/laravel-vfs-adapter让我轻松切换到虚拟文件系统适配器。