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;
}