2017-02-15 5 views
1

Ich bin neu in Laravel und ich bin ein wenig verwirrt, wie meine API in 5.3 zu testen. Ich las die Dokumente und ich sah diese Art von Beispielen, aber ich weiß nicht, ob ich die Beispiele richtig angewendet habe. Wie auch immer, ich bin immer immer ein ErrorTest-API in Laravel 5.3

Error Exception

Ich habe diese in UserTest.php

<?php 

use Illuminate\Foundation\Testing\WithoutMiddleware; 
use Illuminate\Foundation\Testing\DatabaseMigrations; 
use Illuminate\Foundation\Testing\DatabaseTransactions; 

class UserTest extends TestCase 
{ 
    /** 
    * A basic test example. 
    * 
    * @return void 
    */ 
    public function testLoginSuccess() 
    { 
     $this->post('http://127.0.0.1/identificare_api/public/api/user/login', ['email' => '[email protected]', 'password' => 'identificare']); 
    } 
} 

und ich versuchte auch diesen, noch nicht gehen.

$this->json('POST', 'user/login', ['email' => '[email protected]', 'password' => 'identificare']); 

hier ist meine Route

Route::post('user/login', '[email protected]'); 

Ist es richtig, es auf diese Weise zu tun? Wenn nein, wie kann ich meine API testen?

+0

Ich vermute, Sie haben einen Fehler in Ihrem Fehlerhandler! Das 'e' ist möglicherweise ein fehlender Parameter in einem try-catch-Block? Ich weiß nicht, was der App/Exceptions-Pfad ist - das ist in Laravel nicht typisch. Wenn das also ein benutzerdefinierter Klassenpfad ist, schlage ich vor, dass Sie in die Zeile 47 schauen, in der sich der Fehler befindet. Wird das $ e wie catch ($ e Exception) deklariert? ... Dann können Sie die Ausnahme debuggen. – scipilot

Antwort

0

korrekte Weg, um die Post zu nennen, ist

$this->post('/user/login', array('email' => '[email protected]', 'password' => 'identificare')); 

oder

$this->call('POST','/user/login', array('email' => '[email protected]', 'password' => 'identificare')); 

Verwendung ein Echo und Ausgang in der Login-Funktion und prüfen, ob Test der Reglerfunktion zu treffen. Es wird einfacher, wenn Sie einen Dummy-Code Ihrer Controller-Funktion teilen, weil wir nicht herausfinden konnten, was diese Variable $ e ist. Welches sollte in Controller sein.