Laravel 6 Загрузка тестового файла не может найти файл по пути - PullRequest
1 голос
/ 30 января 2020

Я пишу модульный тест в laravel 6 для проверки загрузки файла. У меня есть форма, которая создает группу, и есть загрузка файла для обложек.

Мой модульный тест выглядит следующим образом

    $this->WithoutExceptionHandling();

    //login as admin
    $admin = $this->signInAsAdmin();

    Storage::persistentFake('public');

    $attributes =  [
        'group_name' => $this->faker->name,
        'group_description' => $this->faker->paragraph,
        'group_privacy' => '0',
        'group_cover' => $file = UploadedFile::fake()->image('random.jpg')
    ];

    //create new group
    $response = $this->post('/admin/groups', $attributes);

    unset($attributes['group_cover']);

    Storage::disk('public')->assertExists($file);

    //check the data exists in database
    $this->assertDatabaseHas('groups', $attributes);

    //how is the uploaded file written to database

    //check the data exists in database
    $this->assertDatabaseHas('media', ['file_name' => $file]);

    //make sure the title appears on the group list
    $this->get('/admin/groups')->assertSee($attributes['group_name']);

Я получаю ошибку:

Невозможно найти файл по пути [php624B.tmp]. Не удалось подтвердить, что значение false равно true.

Я также установил в своем файле php .ini файл upload_tmp_dir

upload_tmp_dir = C: \ path_to_laravel_app \ storage \ tmp \ uploads

Похоже, происходит то, что библиотека фейера не создает временное изображение. Не имеет значения, в какую папку я установил местоположение tmp.

Буду признателен за любую помощь

Дэнни

...