Как обнаружить непроверенные файлы 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/ может иметь недостатки, такие как загрузка генераторов и тому подобное. Этот пост хорошо объясняет каждый плюс и минусы каждого подхода.

Другие вопросы по тегам