2017-09-15 1 views
0

Ich habe ein frisch eingerichtetes Laravel 5 Projekt mit einer Arbeitsstelle auf "/". Wenn ich versuche, das bereitgestellte Feature-Test tests/Feature/ExampleTest.php mit PHPUnit 5.7.21 zu laufen erhalte ich Statuscode 500.Laravel 5 und PHPUnit View Test schlägt fehl - Header bereits gesendet

1) Tests\Feature\ExampleTest::testBasicTest 
Expected status code 200 but received 500. 
Failed asserting that false is true. 

Die Testklasse wird als vorgesehen.

<?php 

namespace Tests\Feature; 

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

class ExampleTest extends TestCase 
{ 
    /** 
    * A basic test example. 
    * 
    * @return void 
    */ 
    public function testBasicTest() 
    { 
     $response = $this->get('/'); 

     $response->assertStatus(200); 
    } 
} 

Die zurückgegebene Seite als Teil $response Zustände der folgende Fehler ist.

ini_set(): Cannot change zlib.output_compression - headers already sent 

Ich habe keinen Wert in der bereitgestellten PHPUnit-Konfigurationsdatei geändert.

In meiner Middleware verwende ich die Komprimierung, um eine komprimierte Ausgabe der Website sicherzustellen.

<?php 

namespace App\Http\Middleware; 

use Closure; 

class AfterMiddleware { 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 
    public function handle($request, Closure $next) { 
     ini_set('zlib.output_compression', 'On'); 
     return $next($request); 
    } 
} 

Als ich Kommentar- der ini_set Linie, alles gut geht. Was kann ich tun, um die Komprimierung zu aktivieren und PHPUnit ausführen zu können?

Vielen Dank für Ihre Hilfe im Voraus.

Antwort

0

Setzen Sie Ihre ini_set('zlib.output_compression', 'On'); Bearbeiten Sie die php.ini-Datei, dann wird es global Ihre Anwendung verfügbar sein.

zlib.output_compression = On 

Wenn Sie php --ini verwenden Sie Liste der aktuell verfügbaren INI-Dateien erhalten und den Pfad verwendet

Verwandte Themen