Laravel: Как проверить загрузку файла с помощью реального файла?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel: Как проверить загрузку файла с помощью реального файла?

Сообщение Anonymous »

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

Код: Выделить всё

importfile needs to be a file.
)) выглядит так:

Код: Выделить всё

public function importCustomers(ImportCustomersRequest $request)
{
dump('importCustomers called!');
Соответствующие части класса запроса ImportCustomersRequest таковы:

Код: Выделить всё

public function rules(): array
{
dump('importfile', $this->importfile);

return [
'importfile' => 'required|file',
];
}
Для тестирования используется следующий код:

Код: Выделить всё

$file = UploadedFile::fake()->createWithContent('customer.csv', 'id;name;group\n9999;Customer1;');

// other approachs that did not work:
// $file = UploadedFile::fake()->create('customer.csv')
//
// testing with a real file would be ok too (the file exists!) - but nada (i receive the file content instead of an UploadedFile):
// $file = Storage::path('development/customers.csv')

$response = $this->post(route('import.customers', ['importfile' => $file]));
$response->assertStatus(302);
...
Сброс значения файла импорта в классе запроса с использованием загрузки через интерфейс (и реального файла) дает желаемый результат

Код: Выделить всё

Illuminate\Http\UploadedFile {#2053 ▼
-test: false
-originalName: "customers.csv"
-mimeType: "text/csv"
-error: 0
...
Использование приведенного выше теста phpunit дает мне

Код: Выделить всё

array:2 [
"name" => "customer.csv"
"sizeToReport" => "67"
]
что явно не удается.
Как мне загрузить тестовый файл (желательно реальный файл с содержимым), который пройдет проверку (UploadedFile< /код>)?

Подробнее здесь: https://stackoverflow.com/questions/752 ... -real-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как проверить загрузку файлов в Laravel
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как проверить загрузку файла в pytest?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как я могу проверить, все ли дочерние элементы были повторены в базе данных реального времени?
    Anonymous » » в форуме Android
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous
  • Как исправить загрузку файла в Laravel Livewire [Duplicate]
    Anonymous » » в форуме Php
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ обновить файл Excel из файла. Net 8 и просматривать изменения в Excel в режиме реального времени.
    Anonymous » » в форуме C#
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»