Tag: 调用

RSpec – 测试是否使用之前定义的块调用块

我最近问过如何在RSpec中测试是否调用了一个块,并且该问题的答案似乎在一个简单的情况下起作用。 问题是当块的初始化更复杂时。 然后它在before完成并在上下文中通过许多不同的测试重用,其中一个测试是否评估了块。 看例子: context “the node definition using block of code” do before do @n=node do # this block should be called end # some more complex setup concerning @n end it “should call the block” do # how to test it? end # here a bunch of other tests using @n end 在这种情况下,具有副作用改变局部变量值的解决方案不起作用。 […]

如何调用哈希值的方法?

以前,我询问了一种在给定条件下执行方法的巧妙方法 “ Ruby是一种在条件上执行函数的聪明方法 。” 然而,解决方案和响应时间很长,在实现时,拥有lambda的哈希很快就会变得难看。 所以我开始尝试。 以下代码有效: def a() puts “hello world” end some_hash = { 0 => a() } some_hash[0] 但是,如果我将它包装在一个类中它停止工作: class A @a = { 0 => a()} def a() puts “hello world” end def b() @a[0] end end d = A.new() db() 我不明白为什么它应该停止工作,任何人都可以建议如何使它工作?