我将Codeception与REST和Laravel模块一起使用。
当我运行vendor/bin/codeception run
并且由于应用程序中的异常而导致测试为红色时,命令行中没有提供任何信息。
所以我知道某事是错误的,但不知道完全是错误的。
更详细一点:
1)当不满足测试期望时,正好显示错误消息(例如,我希望结果为JSON但是已经返回HTML)
2)但是,例如,如果我尝试将某些内容插入到不存在的数据库字段中,我将在命令行中获取FAIL,并且没有关于失败原因的信息。
请注意,此类错误是 catchable 异常,而不是致命错误,因此我不明白为什么Codeception无法显示错误消息。
要找出确切的问题,我有两个选择:
1)用try-catch块包装测试(所以我手动捕获并调试所有内容)
2)使用浏览器手动提出请求并查看输出
显然,两种“解决方案”都是不可接受的。
我错过了什么,是否有解决这个问题的好方法?
谢谢!
答案 0 :(得分:0)
有时测试框架只是无法访问信息,因为应用程序框架没有提供它们。致命错误可能会“异常结束”您的应用程序,并不会给出任何预期简单异常的线索。
在这些情况下我要做的就是查看日志文件:
/var/www/myapp/app/storage/logs/laravel.log
/var/log/nginx/*.log