在 Ruby 中使用 rspec 识别令人不安的规范



我在运行rspec spec/vector_spec.rb时收到这条可怕的错误消息,但我无法确定导致错误的规范。

以下是错误消息的某些部分:

..................F...........******************************...........F...***********************....*.....*....................................../home/ubuntu/workspace/daru/lib/daru/index.rb:102: [BUG] Segmentation fault at 0x007fe1e31ce030
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0048 p:0021 s:0197 e:000196 METHOD /home/ubuntu/workspace/daru/lib/daru/index.rb:102
c:0047 p:0015 s:0193 e:000192 METHOD /home/ubuntu/workspace/daru/lib/daru/vector.rb:207
...

以下是完整的错误消息:https://gist.github.com/lokeshh/83369d71ca94b07cf89b23e215214666

我想知道哪个规范导致错误,以便我可以查看它,但我找不到一种方法来识别导致错误的规范。

有办法吗?

您可以将冒号和特定测试的行号附加到 RSpec 文件中,例如:

rspec spec/vector_spec.rb:83

您还可以使用 =begin=end 禁用大部分代码以缩小该部分的范围。

我只是跑了rspec -h,得到了一些非常有用的信息。 查看--only-failuresnext-failure选项! 另外,看起来您还可以使用-fd来打印组和示例名称!

最新更新