Моя основная логика заключается в том, чтобы где-то работал бесконечный цикл и проверять его как можно лучше. Причина наличия бесконечного цикла не важна (основной цикл для игр, подобная демонам логика ...), и я больше спрашиваю о передовых практиках в такой ситуации.
Давайте возьмем этот код, например:
module Blah
extend self
def run
some_initializer_method
loop do
some_other_method
yet_another_method
end
end
end
Я хочу протестировать метод Blah.run
с использованием Rspec (также я использую RR , но простой rspec будет приемлемым ответом).
Я полагаю, что лучший способ сделать это - разложить немного больше, например, разделить цикл на другой метод или что-то в этом роде:
module Blah
extend self
def run
some_initializer_method
do_some_looping
end
def do_some_looping
loop do
some_other_method
yet_another_method
end
end
end
... это позволяет нам проверять run
и макетировать цикл ... но в какой-то момент код внутри цикла должен быть протестирован.
Так что бы вы сделали в такой ситуации?
Просто не проверяет эту логику, то есть проверяет some_other_method
& yet_another_method
, но не do_some_looping
?
Есть ли разрыв цикла в какой-то момент через макет?
... что-то еще?