Привет!
Есть старый проект. Тестами в нем покрыт очень маленький кусок функционала.
Тесты лежат в отдельном каталоге исходников.
Система сборки собирает два бинарника — основной проектный бинарник и тестовый, который включает только тесты и код, который они тестируют.
main.cpp у тестового и рабочего бинарей разные (т.е. у каждого свой).
Т.к. тестами покрыт не весь функционал, то в тестовый бинарь попадает малая часть кода проекта.
Я потихоньку допиливаю функционал, и стараюсь покрывать тестами хотя бы свой новый код.
И встает проблема:
Если моя новая функция по логике должны располагаться в уже существующем файле, которого еще нет в тестовом проекте, то я этот файл в тестовый проект добавляю.
Но он тянет за собой другие файлы, а они, в свою очередь, тоже что-то тянут.
Таким образом, потихоньку код проекта перекочевывает в тестовый бинарник (но не начинает тестироваться там), что плохо влияет на скорость сборки тестов.
Как такие проблемы обычно решаются?
Или мб это и не проблема вовсе, ведь в идеальных тестах тестируется весь код, т.е. и код в тестовом бинаре тоже весь.