Laravel 5.2 | Testen von UploadedFile Fehlt der $ test-Wert nach dem Posten. Fehler

Update 26.04.2016 11:30 GMT + 2 Umgehung

Seit Laravel 5.2.15 wurde der Parameter $ test entfernt, es gibt jedoch keinen eindeutigen Grund, da Symfonys UploadedFile immer noch den Parameter $ test enthält.

ine Problemumgehung besteht darin, Laravel 5.2.14 vorläufig zu verwende

Update 26.04.2016 11:00 GMT + 2

Laravels UploadedFile übergibt den $ test-Parameter nicht. Siehe diese Ressourcen:

https: //github.com/laravel/framework/issues/1262https: //github.com/laravel/framework/commit/5062a9b42632e55ee90b7397141c0b12622447e

Ich weiß, es gibt eine andere Frage: So testen Sie das Hochladen von Dateien in Laravel 5.2, aber die markierte Antwort funktioniert bei mir nicht.

Testfal

Ich erstelle eine Instanz der Symfony-Klasse UploadedFile und setze$test zutrue. Ich poste die Datei anfile/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();
    }
}
Regle
namespace App\Http\Controllers;

class FileController extends Controller
{
    public function upload(Request $request)
    {
        var_dump($request->file('file')); // $test = false

        return [];
    }
}
ProbleDie zu sendende Datei hat das Argumenttrue zum$testDie gepostete Datei kommt in @ upload()

$request->file('file') enthält die richtigen Argumente, aber

$ test istfalsc

Es scheint, dass das Argument $ test durch den Post-Aufruf nicht überholt ist. Ist das ein Bug?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage