Я полагаю, что вы пишете тесты в том же исходном файле, что и функции, которые они тестируют.
Хотя это может быть удобно для простой программы, когда она усложняется, стандартная практика заключается в извлечении тестовых функций в отдельный исходный файл и компиляции его в отдельный исполняемый файл теста (или в некоторых случаях DLL).
Простая структура, которую я использовал ранее, состоит в том, чтобы иметь проект библиотеки, который реализует основную функциональность, иметь другой проект, который содержит основную функцию и компилируется в «настоящую» программу, и иметь третий проект, который содержит тесты и его собственная основная функция, которая их запускает.
Также нестандартно включать файл источника / реализации (.cpp) из другого.