2017-09-15 10 views
0

"/"の作業現場で新しくLaravel 5プロジェクトをセットアップしました。私はPHPUnit 5.7.21で提供される機能テストtests/Feature/ExampleTest.phpを実行しようとすると、私はステータスコードを受け取る500Laravel 5とPHPUnitビューのテストが失敗しました - ヘッダーはすでに送信されています

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

提供されたテストクラスがあります。

<?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); 
    } 
} 

$responseの一部として返されたページには、次のエラーが記載されています。

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

私は提供されたPHPUnit設定ファイルで値を変更しませんでした。

私のミドルウェアでは、Webサイトの圧縮された出力を保証するために圧縮を使用しています。

<?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); 
    } 
} 

私がini_set行のコメントを外すと、すべてうまく行きます。圧縮を有効にしてPHPUnitを実行できるようにするにはどうすればよいですか?

ご協力いただきありがとうございます。

答えて

0

設定するini_set('zlib.output_compression', 'On'); php.iniファイルを編集すると、アプリケーション全体で利用できるようになります。

zlib.output_compression = On 

あなたがphp --iniを使用する場合は、使用のiniファイルのリストを取得し、そのパスが

を使用
関連する問題