Wie test POST-Routen in Laravel

Ich mache den folgenden test ein POST-Aufruf zu Laravel. Ich erwarte, dass die POST zu Fragen, in übereinstimmung mit meinen Routen, werden Einsätze wie die action-Methode speichern. Dies funktioniert im browser.

Mein test:

public function setUp()
    {   
        parent::setUp();

        Session::start();
    }

    public function testStoreAction()
    {
        $response = $this->call('POST', 'questions', array(
            '_token' => csrf_token(),
        ));

        $this->assertRedirectedTo('questions');
    }

Aber ich sagt mir, dass der redirect nicht übereinstimmen. Ich kann auch sehen, dass es nicht in den laden gehen, action-Methode überhaupt. Ich will wissen, was action-Methode es ist, und warum es nicht in den laden gehen, Methode (wenn ich sehe, route:Liste, ich kann sehen, es gibt eine POST Fragen/route gehen sollten, um zu Fragen.speichern; dies funktioniert auch im browser, aber nicht in meinen tests). Auch, Schreibe ich den Aufruf richtig für diese Ressource? Ich habe den token hier, wie es war, eine Ausnahme zu werfen, wie es sollte, in einigen tests lasse ich die token check übergeben.

  • können Sie den eigentlichen Fehler Beschreibung, danke
  • Es ist unwahrscheinlich, dass die POST-Parameter sind nur die csrf-token. Wohl in Ihrer Steuerung haben Sie eine Art Bestätigung, dass die Anfrage die Umleitung zurück auf die Vorherige Position (302-response-code). Sie können überprüfen, ob dies der Fall ist, indem Sie die debugging-Sitzung mit dd(Session::get('errors'))
InformationsquelleAutor Martyn | 2015-03-01
Schreibe einen Kommentar