Как стать автором
Обновить

Комментарии 6

Спасибо за статью. Вопрос: в отчете покрытия не учтено проверку условия в методе walk_permitted, хотя чтобы добраться до выбора, нужно ведь отработать if. Это особенность работы или баг?
Думаю, что в этом случае Coverage «склеивает» 23-ю и 24-ю строки, т.к. 23-я не была закончена. Вот эквивалентный вариант:



Считаю это более-менее корректным поведением.
Кстати да, так перенос строки не влияет на конечный показатель. Хотя визуально все же немножко запутывает.
До вашего комментария не замечал того, что перенесённые строки не подсвечиваются. Всегда ориентировался на красные строки в отчётах)
Спасибо!
С другой стороны, если представить вариант подсветки этой строчки, возникнет вполне резонный вопрос «строчек 17, зелёных 16, красная одна, почему же в отчёте числа меньше, и куда вы подевали строку, я подсчитал вручную, вы врете, везде обман, уйду от вас». Согласен, что текущий вариант наименее конфликтен.
Одна из сильных сторон руби как раз однострочники, и я не знаю ни одного способа заставить разрабов раздувать LOC, при этом еще и ухудшая как покрытие так и читаемость. Плюс это отличный способ обмануть CI и закомитить покрытие только одной ветки.
С покрытием как таковым вообще все сложно, даже в плане теории, а с такой проблемной реализацией, все становится еще сложнее.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории