I'm trying to setup a simple WebTestCase
which makes a GET
request to the given URL using Symfony 4 (and "phpunit/phpunit": "^6.5"
). However, the test fails with:
Failed to start the session because headers have already been sent by \\vendor\\phpunit\\phpunit\\src\\Util\\Printer.php; at line 112. (500 Internal Server Error)
Test Class:
class ControllerTest extends WebTestCase
{
public function testGetArticles()
{
$client = static::createClient();
$client->request('GET', '/articles');
$this->assertEquals(Response::HTTP_OK, $client->getResponse()->getStatusCode());
}
}
Controller (which contains articles
route:
/** @Route(path="articles", name="article_list") */
public function article_list(Request $request)
{
return $this->render("article/list.html.twig", array(
"articles" => $this->entityManager->getRepository("App:Article")->getArticles()
));
}
framework.yaml:
framework:
secret: '%env(APP_SECRET)%'
csrf_protection: ~
session:
# With this config, PHP's native session handling is used
handler_id: ~
These tests were running fine in Symfony 3, in SF 4 not. What is wrong with this test or configuration?
You must uncomment session section in config\\Packages\\test\\framework.yaml.
session:
storage_id: session.storage.mock_file
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.