有没有办法强制RSpec显示中间结果?

时间:2010-11-15 22:03:19

标签: ruby-on-rails rspec

每次我运行RSpec测试时,都会执行所有操作。这很好,除了我不想等待整个套件运行之后才能看到系列早期的故障是什么。

$ rspec spec/
...........F................................

3 个答案:

答案 0 :(得分:8)

我认为这正是您所寻找的:http://jeffkreeftmeijer.com/2010/making-rspec-stop-operation-immediately-after-failing/

它使RSpec在第一次失败后停止。

您还应该看一下:http://jeffkreeftmeijer.com/2010/fuubar-the-instafailing-rspec-progress-bar-formatter/

这是一个更好的RSpec格式化程序。

答案 1 :(得分:1)

另一种选择,如果您想要立即获得有关失败的信息,请将格式更改为文档,这样您就可以看到任何给定失败的详细信息。

您可以使用rspec选项运行--format documentation来设置此项。它也可以作为该存储库的永久选项放在spec_helper.rb中(尽管可以在命令行中覆盖)。

这种方法的缺点是你现在得到了很多更多的输出,实际上早期的输出会滚动掉,所以如果要保持终端窗口打开并在某处可见,这个选项最有效,这样你就可以看到错误上来。由于可以使用周边视觉,因此不需要直接注意,当然您可以随时向后滚动。对于数百个而不是数千个测试的小型存储库来说效果更好。

答案 2 :(得分:1)

值得一提的是,如果你打断了一个' rspec' (ctl + C)它会立即跳转到最终报告,以便您可以看到错误的内容。

单位测试并不聪明,上次我看了。