Symfony 功能测试:如何理解测试失败的原因(出现 500 错误)

Symfony Functional Testing: how to understand why the test fails (with a 500 Error)

我正在为在应用程序中注册新用户的控制器编写功能测试。

我正在编写的测试因 500 HTTP 错误而失败。

我正在使用

$response = $client->getResponse();
print_r($response->getContent());exit;

打印 HTML 以查看发生了什么,但是 HTML 在我的控制台 (PHPStorm) 中不完整,所以我不知道到底发生了什么,也找不到要解决的错误它。

关于如何理解正在发生的事情以及导致错误的原因有什么想法吗?

可能这些可以帮助:app/logs 文件夹中有一个 test.log 文件,您可以将其删除,运行 测试,当错误发生时打开新生成的文件, 看看发生了什么,就是这样。

或者您将 DebugBundle 添加到 AppKernel.php 文件中的 registerBundles 方法,并使用其 dump() 方法,如下所示:

// AppKernel.php
if (in_array($this->getEnvironment(), ['dev', 'test'])) {
    ...
    $bundles[] = new \Symfony\Bundle\DebugBundle\DebugBundle();
}

*****

// usage:
public function testSomeAction()
{
    .....
    $response = $client->getResponse();
    dump($response);
    die;
}