【发布时间】:2012-10-26 07:06:51
【问题描述】:
我有一个将代码块作为参数的方法。问题是:如果这个方法调用了块,如何使用 RSpec 进行测试?
可以在方法所需的任何范围内评估块,不一定使用yield 或block.call。它被传递给另一个类,或者在匿名类对象或其他地方对其进行评估。为了使测试通过,作为方法调用的结果,在某处评估块就足够了。
有没有办法使用 RSpec 测试类似的东西?
另请参阅this,了解更复杂的情况,使用lets 和模拟。
【问题讨论】:
-
创建一个有副作用的块,比如设置一个封闭的变量我们引发一个异常,并检查副作用?
-
感谢您的建议!尤其是在这种情况下,例外的概念很有前景。
标签: ruby methods rspec call block