Для начала я приведу небольшой тестовый проект из трёх классов, проанализирую его покрытие с помощью [гема SimpleCov][1], а напоследок немного поразмышляю о том, как анализ покрытия может приносить пользу проекту, и какие есть недостатки у Coverage в Ruby.
[![][2]][3]
В качестве проекта для тестирования взята небольшая история о мальчике, который может спрашивать разрешения погулять у матери и у отца.
# Мама очень заботится о своём сыне, и не разрешает ему гулять,
# если он не надел шарф. А ещё она заботится о его успеваемости, поэтому если
# сын не сделал домашнюю работу, гулять ему она тоже не разрешит.
class Mother
def permit_walk?(child)
child.scarf_put_on && child.homework_done
end
end [Читать дальше →][4]
[1]:
https://github.com/colszowka/simplecov
[2]:
https://habrastorage.org/files/756/b2f/98b/756b2f98bdcd47eaaaf88d1f66d24659.png
[3]:
https://habrahabr.ru/post/317326/
[4]:
https://habrahabr.ru/post/317326/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut