Как обнаружить непроверенные файлы ruby?
Недавно я начал работать над большим приложением Rails. Simplecov говорит, что тестовое покрытие превышает 90%. Отлично.
Однако время от времени я обнаруживаю файлы, которые даже не загружаются набором тестов. Эти файлы фактически используются в производстве, но по какой-то причине никто не позаботился о том, чтобы написать о них даже самый простой тест. В результате они не учитываются в показателях покрытия.
Это беспокоит меня, так как есть неизвестный объем кода, который может сломаться в Prod, если мы не заметим.
Я единственный, у кого есть эта проблема? Есть ли известное решение? Можем ли мы иметь показатели покрытия для файлов, которые не загружены?
2 ответа
Авторы добавили новую опцию конфигурацииtrack_files
именно для этого. Для проекта рельсы значение может выглядеть так
track_files '{app,lib}/**/*.rb'
Более подробная информация здесь: https://github.com/colszowka/simplecov/pull/422
Я закончил тем, что добавил это к моему environments/test.rb
:
config.eager_load = true
config.eager_load_paths += ["#{config.root}/lib"]
Однако добавление lib/
может иметь недостатки, такие как загрузка генераторов и тому подобное. Этот пост хорошо объясняет каждый плюс и минусы каждого подхода.