1
Я хочу попробовать проверить, использует ли объект оптимизацию в конкретном случае. Так что у меня есть этот вид кодаRuby Rspec3 ожидает получить один раз вызов для внутреннего метода
class Bar
attr_reader :n
def initialize(n)
@n=n
end
def a
if @n <= 3
b1
else
b2
end
end
def b1
@n+=1
end
def b2
@n+=1 ##super fast addition
end
end
Я пытаюсь написать RSpec так
bar=Bar.new(5)
allow(bar).to receive(:b2).and_call_original
bar.a
expect(bar).to receive(:b2).once
expect(bar.n).to eq 6
Но это не работает ... Вы Kown это возможно? и если да, то как?
Спасибо, мой тест работы в настоящее время – ebuprofen