Bir yöntemin, özel bir argümanla tekrarlı olarak denendiğini test etmek isterim.Rspec: Yinelemeyi nasıl test edebilirim?
Benim yaklaşım:
expected :rec with (7) once, but received it 0 times
benim yaklaşımla sorunun ne herhangi bir fikir: Beklenmedik
class Recursable
def rec(arg)
rec(7) unless arg == 7
end
end
describe Recursable do
it "should recurse" do
r = Recursable.new('test')
r.should_receive(:rec).with(0).ordered
r.should_receive(:rec).with(7).ordered
r.rec(0)
end
end
, RSpec ile başarısız? Belirli bir argüman ile etkili özyineleme testi nasıl yapılır?
Ah, tamam. Oh iyi! Bir hata bulmaya çalışıyorum - yöntem yanlış bir değer döndürüyor (burada betimlendiğinden daha karmaşıktır). Sorun alanını daraltmak için her parçasını test edebileceğimi düşündüm. Her bir yineleme seviyesi ile daha karmaşık hale gelir ve özyinenin doğru şekilde yürütülüp yürütülmediğini test etmek güzel olurdu. – crispy
Başka bir deyişle: Uygulamayı test etmeyin, kodun etkisini test edin. Mükemmel cevap! – awendt