出于某种原因,我的一个黄瓜测试似乎在恶作剧驱动程序和rails服务器上都失败了。
我对浏览器崩溃进行了全面跟踪,但在服务器端几乎没有任何内容。
当我打开Capybara屏幕截图时,我只看到
内部服务器错误 nil的未定义方法
name
:NilClass
当我拖尾test.log
在0ms内完成500内部服务器错误(Elasticsearch:0.0ms)
(并没有追踪)
我试过了
config.action_dispatch.show_exceptions = true
b
标志(但它只显示了Capybara错误的详细跟踪如何在服务器端获得完整的回溯?
修改
答案 0 :(得分:1)
我从this answer获得了一些东西!
因此解决方案是允许在ActionController :: Base中挽救异常。在我的env文件中,我有以下几行误导
# There are two ways to allow Rails to rescue exceptions:
#
# 1) Tag your scenario (or feature) with @allow-rescue
#
# 2) Set the value below to true. Beware that doing this globally is not
# recommended as it will mask a lot of errors for you!
#
ActionController::Base.allow_rescue = false
通过添加@ allow-rescue标记,我在test.log
中显示了更全面的错误跟踪,以及前端错误视图
答案 1 :(得分:0)
如果您(像我一样)不使用黄瓜,但是水豚this answer也可能会帮助您。
在config/environments/test.rb
组中
config.action_dispatch.show_exceptions = true