如果在调试模式下运行时步骤失败,如何在不使用断点的情况下暂停测试而不是跳过 - Rubymine cucumber?

时间:2014-01-06 15:51:26

标签: ruby-on-rails cucumber rubymine

我正在使用Rubymine 6.0来编写使用ruby的黄瓜测试,这对我来说是非常新的。

当我进行测试且步骤未通过时,rubymine会跳过该步骤并使该方案失败。

当我运行数百个测试时,这对我来说非常有意义,我希望它能够以现在的方式发生。

但是,在调试模式下运行测试时,如何在失败的步骤或特定的代码行上暂停测试? 有没有办法在它失败之前在步骤上设置断点然后再进入它?

我希望测试在失败的特定点暂停,然后让我接管。

谢谢, RK

1 个答案:

答案 0 :(得分:0)

我熟悉的所有测试框架中的所有断言都会在测试中未满足期望(或断言失败)时引发某些类型的异常。 RubyMine允许您配置“异常断点” - 在引发特定类型的异常时暂停执行。

我刚刚使用Ruby 2.1和最新的rspec尝试了RubyMine 6.0.2。当未满足期望时,Rspec引发RSpec :: Expectations :: ExpectationNotMetError(根据rspec的源代码),但由于某些原因,RubyMine不会在该断点上停止 - 它不起作用! < / p>

对我有用的另一个解决方案是在rspec的源代码文件中设置一个常规断点:rspec-expectations-2.14.0 / lib / rspec / expectations / fail_with.rb,在方法“fail_with” - 当任何断言/期望失败时调用此方法。

我确信你可以用Cucumber做类似的事情:只需调试断言方法的源代码并在那里放一个断点。

相关问题