"/"の作業現場で新しく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を実行できるようにするにはどうすればよいですか?
ご協力いただきありがとうございます。