在我的测试环境中,Rails 6 中带有 ActiveRecord 的 Byebug 没有按预期记录。
当我运行测试并使用 byebug 暂停执行时,ActiveRecord 不会将查询记录到控制台。例如,如果我键入,Candidate.second
我看不到 SQL 输出:
我想看到什么,如果我在 Rails 控制台的开发环境中运行相同的查询,我会看到什么:
我查看了有关 ActiveRecord 和 ByeBug 的文档,但似乎无法解决这个问题。任何帮助表示赞赏!
重现步骤
将调试器语句扔到控制器中,然后运行测试:
使用 byebug 时,ActiveRecord 不会将查询记录到控制台中。例如,如果运行一个命中控制器操作的测试:
class JobsController < ApplicationController
# ...
def show
debugger
Candidate.first # arbitrary query
render json: @job
end
end
从终端:
rails test test/controllers/jobs_controller.rb