Ларавел 5.2 | Тестирование UploadedFile Пропускает значение $ test после публикации. Ошибка?
Начиная с Laravel 5.2.15, параметр $ test удаляется, но нет явной причины, потому что в UploadedFile Symfony по-прежнему есть параметр $ test.
Обходной путь должен временно использовать Laravel 5.2.14.
Обновление 2016/04/26 11:00 GMT + 2Собственный UploadedFile от Laravel не передает параметр $ test. Смотрите эти ресурсы:
https://github.com/laravel/framework/issues/12620https://github.com/laravel/framework/commit/5062a9b42632e55ee90b7397141c0b12622447e1Я знаю, есть еще один вопрос:Как проверить загрузку файлов в Laravel 5.2, но отмеченный ответ не работает для меня.
ПрецедентЯ создаю экземпляр класса UploadedFile Symfony и я устанавливаю$test
вtrue
, Я отправляю файл вfile/upload
.
class FileControllerTest extends TestCase
{
use \Illuminate\Foundation\Testing\DatabaseTransactions;
private $file;
public function setUp()
{
parent::setUp();
$this->file = new Symfony\Component\HttpFoundation\File\UploadedFile(
public_path() . '/examples/example.jpg',
'example.jpg',
'image/jpeg',
filesize(public_path() . '/examples/example.jpg'),
null,
true // for $test
);
}
/** @test */
public function it_uploads_a_valid_file()
{
var_dump($this->file); // $test = true
$this->call('POST', 'file/upload', [], [], ['file' => $this->file],
['accept' => 'application/json']);
$this->assertResponseOk();
}
}
контроллерnamespace App\Http\Controllers;
class FileController extends Controller
{
public function upload(Request $request)
{
var_dump($request->file('file')); // $test = false
return [];
}
}
проблемаФайл для публикации имеет аргументtrue
за$test
Размещенный файл прибывает вupload()
$request->file('file')
содержит правильные аргументы, но
$ тест являетсяложный
Кажется, что аргумент $ test не пройден почтовым вызовом. Это ошибка?