Тестовый пример
Я создаю экземпляр класса Symfony UploadedFile и устанавливаю для $test значение true. Я отправляю файл в file/upload.
класс FileControllerTest расширяет TestCase { используйте \Illuminate\Foundation\Testing\DatabaseTransactions; личный $файл; публичная функция setUp() { родитель::setUp(); $this->file = новый Symfony\Component\HttpFoundation\File\UploadedFile( публичный_путь() . '/examples/example.jpg', 'пример.jpg', 'изображение/JPEG', Размер файла (public_path(). '/examples/example.jpg'), нулевой, истина // для $test ); } /** @тест */ публичная функция it_uploads_a_valid_file() { var_dump($this->file); // $тест = истина $this->call('POST', 'file/upload', [], [], ['file' => $this->file], ['принять' => 'приложение/json']); $this->assertResponseOk(); } } Контроллер пространство имен App\Http\Controllers; класс FileController расширяет контроллер { загрузка публичной функции (запрос $request) { var_dump($request->file('файл')); // $тест = ложь возвращаться []; } } Проблема [*]Файл для публикации имеет аргумент true для $test [*]Опубликованный файл поступает в upload() [*]$request->file('file') содержит правильные аргументы, но $test имеет значение ложь
Похоже, что аргумент $test не пройден при вызове post. Это ошибка?