当测试为红色时,Codeception不提供异常信息

时间:2014-08-28 19:26:16

标签: rest exception laravel codeception

我将Codeception与REST和Laravel模块一起使用。

当我运行vendor/bin/codeception run并且由于应用程序中的异常而导致测试为红色时,命令行中没有提供任何信息。

所以我知道某事是错误的,但不知道完全是错误的。

更详细一点:
1)当不满足测试期望时,正好显示错误消息(例如,我希望结果为JSON但是已经返回HTML) 2)但是,例如,如果我尝试将某些内容插入到不存在的数据库字段中,我将在命令行中获取FAIL,并且没有关于失败原因的信息。

请注意,此类错误是 catchable 异常,而不是致命错误,因此我不明白为什么Codeception无法显示错误消息。

要找出确切的问题,我有两个选择:
1)用try-catch块包装测试(所以我手动捕获并调试所有内容) 2)使用浏览器手动提出请求并查看输出

显然,两种“解决方案”都是不可接受的。

我错过了什么,是否有解决这个问题的好方法?

谢谢!

1 个答案:

答案 0 :(得分:0)

有时测试框架只是无法访问信息,因为应用程序框架没有提供它们。致命错误可能会“异常结束”您的应用程序,并不会给出任何预期简单异常的线索。

在这些情况下我要做的就是查看日志文件:

/var/www/myapp/app/storage/logs/laravel.log

/var/log/nginx/*.log