Rspec 挂在 Ruby 2.7.4 上,没有输出
Posted
技术标签:
【中文标题】Rspec 挂在 Ruby 2.7.4 上,没有输出【英文标题】:Rspec hangs on Ruby 2.7.4 with no output 【发布时间】:2021-12-24 22:29:44 【问题描述】:我正在从 Ruby 2.6.8 升级到 2.7.4。一切都很轻松,除了现在 Rspec 套件只是冻结了一些测试,没有输出、错误、警告或任何东西。我已经让它继续了一个多小时,但它永远不会进步。
我已尝试运行 rspec --backtrace
,但没有提供更多信息。
有人知道我可以如何调试吗?
ruby (2.7.4)
rspec-rails (3.9.0)
rails (5.2.5)
【问题讨论】:
“一些测试” – 冻结的总是同一个测试吗? 总是一样,是的。 那么该测试有什么作用?和之前的测试有什么区别?注释掉行或在它们之间添加一些简单的puts
调用应该有助于找到问题。
在 Ruby 2.6.8 上,所有测试都按照您的预期运行。在这里,它只进行了大约 30 次测试,然后没有进一步进展。 puts
可能是要走的路,但即使我可以追踪失败的特定测试,也很难找到 原因 它失败且没有输出可查看
运行 rspec -fd
以查看规范的名称,然后使用 puts
/ cmets 缩小失败的范围。
【参考方案1】:
天哪,终于想通了。显然 Rails 5.2.x
实际上与 Ruby 2.7.x
不兼容。更新到 Rails 6.0.0
后,一切似乎又变得美好起来了。
【讨论】:
以上是关于Rspec 挂在 Ruby 2.7.4 上,没有输出的主要内容,如果未能解决你的问题,请参考以下文章
ruby 1.9 和 RSpec2 有啥好的突变测试工具吗?