Unit testing 获取cli上的symfony错误或异常以进行测试

Unit testing 获取cli上的symfony错误或异常以进行测试,unit-testing,symfony,Unit Testing,Symfony,虽然我的单元测试失败了,但它只表明断言不符合我的要求 对于这种说法, $this->assertEquals(200, $client->getResponse()->getStatusCode()); 失败的结果如下所示: Failed asserting that 500 matches expected 200. 如何获得发生的确切错误或异常 我知道我可以像这样倾销回复内容 var_dump($client->getResponse()->getConte

虽然我的单元测试失败了,但它只表明断言不符合我的要求

对于这种说法,

$this->assertEquals(200, $client->getResponse()->getStatusCode());
失败的结果如下所示:

Failed asserting that 500 matches expected 200.
如何获得发生的确切错误或异常

我知道我可以像这样倾销回复内容

var_dump($client->getResponse()->getContent());
但它打印的是难以阅读的原始html


提前感谢。

我认为使用Symfony2登录的更好方式可能是:

$this->get('logger')->info('messsage');
请注意,Monolog(默认记录器)使用Psr接口(名称空间Psr\Log):您可以登录不同的app/Log/*.Log文件

以下是Psr\Log\LoggerInterface接口的所有方法:

public function emergency($message, array $context = array());
public function alert($message, array $context = array());
public function critical($message, array $context = array());
public function error($message, array $context = array());
public function warning($message, array $context = array());
public function notice($message, array $context = array());
public function info($message, array $context = array());
public function debug($message, array $context = array());
public function log($level, $message, array $context = array());

我认为使用Symfony2登录的更好方式可能是:

$this->get('logger')->info('messsage');
请注意,Monolog(默认记录器)使用Psr接口(名称空间Psr\Log):您可以登录不同的app/Log/*.Log文件

以下是Psr\Log\LoggerInterface接口的所有方法:

public function emergency($message, array $context = array());
public function alert($message, array $context = array());
public function critical($message, array $context = array());
public function error($message, array $context = array());
public function warning($message, array $context = array());
public function notice($message, array $context = array());
public function info($message, array $context = array());
public function debug($message, array $context = array());
public function log($level, $message, array $context = array());

您是否尝试过:
var_dump($client->getResponse()->getStatus())?您可以检查app/logs/dev.log?@user2182349如果在集成服务器(如Travis CI)上运行的测试继续进行该怎么办。。我不知道如何查看那里的日志,我还有一个问题。。这可能是一个真正的痛苦,因为500只意味着一个普遍的错误。我要做的是在浏览器中输入url以查看错误详细信息。然后,我使用浏览器修复错误以进行测试。解决错误后,我将再次运行phpunit测试。您也可以尝试向自己发送电子邮件错误:。不确定它是否能在travis上工作。您是否尝试过:
var_dump($client->getResponse()->getStatus())?您可以检查app/logs/dev.log?@user2182349如果在集成服务器(如Travis CI)上运行的测试继续进行该怎么办。。我不知道如何查看那里的日志,我还有一个问题。。这可能是一个真正的痛苦,因为500只意味着一个普遍的错误。我要做的是在浏览器中输入url以查看错误详细信息。然后,我使用浏览器修复错误以进行测试。解决错误后,我将再次运行phpunit测试。您也可以尝试向自己发送电子邮件错误:。不确定它对特拉维斯是否有效。