Rails 控制器测试:“过滤器链已停止”从未出现

问题描述 投票:0回答:1

在开发中,当某些

Filter chain halted
过滤器不满足时,我的 Rails 日志会显示
before_action
,但是当我在 rspec 中运行控制器测试时,我在日志中没有得到任何此类信息。

在我正在开发的应用程序中,设置控制器测试可能是一个缓慢的过程,因为存在大量的

before_action
过滤器遗留问题并且缺乏测试覆盖率。通常,当我开始编写新的控制器测试时,其中一些过滤器是不满意的,我想通过检查我的
log/test.log
轻松查看哪些过滤器,但它没有提供任何洞察力,即使
Rails.logger.level
:debug

我有办法在日志或控制器测试中获取此信息吗?

ruby-on-rails rspec before-filter
1个回答
0
投票

也许您的古老应用程序在测试中跳过 before_actions 以加快速度?

我会采取的两个步骤:

  • 编写请求测试而不是控制器测试
  • 考虑添加一个 prepend_before_action 来启动调试器并单步执行以查看调用的内容

第二个是你真正要学到东西的地方。如果它没有被调用,那么就说明有东西短路了。如果它确实被调用,那么您应该能够继续执行其余的回调,看看发生了什么。

© www.soinside.com 2019 - 2024. All rights reserved.