debug(true); $origin = new \RuntimeException('origin failure'); $render = new \InvalidArgumentException('render failure'); $method = new \ReflectionMethod(ThinkApp::class, 'fallbackExceptionResponse'); $method->setAccessible(true); /** @var WorkerResponse $response */ $response = $method->invoke($app, $origin, $render); $this->assertSame(500, $response->getStatusCode()); $this->assertSame('text/plain; charset=utf-8', $response->getHeader('Content-Type')); $this->assertSame('x-server', $response->getHeader('Server')); $this->assertStringContainsString('RuntimeException: origin failure', $response->rawBody()); $this->assertStringContainsString('While rendering exception: InvalidArgumentException: render failure', $response->rawBody()); } }