我有一个新设置的Laravel 5项目,其工作站点位于“/”。当我尝试使用tests/Feature/ExampleTest.php
运行提供的功能测试PHPUnit 5.7.21
时,我收到状态代码500.
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配置文件中更改任何值。
在我的中间件中,我使用压缩来确保网站的压缩输出。
<?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 :(得分:0)
设置你的ini_set('zlib.output_compression', 'On');
编辑php.ini文件,然后它将在你的应用程序中全局可用。
zlib.output_compression = On
如果您使用php --ini
,您将获得已使用的ini文件列表及其使用的路径