Я делаю какой-то модульный тест на коде c, используя CPPUnit.
В тестируемом коде есть некоторые определения в файлах c, а не в файлах h. Таким образом, они не доступны из других мест в коде. Многие из определений используются для установки размера массивов.
Когда я делаю модульные тесты, я хотел бы сделать их настолько динамичными, насколько это возможно, означая, что они все еще будут работать, когда определения будут изменены до окончательного выпуска. Я сделал несколько циклов и прочее, чтобы пройти через функции с использованием массивов, чтобы я тестировал столько раз, сколько есть записей в массиве и т. Д. Но до сих пор я использую копию определения в своем коде модульного теста. Таким образом, если определения изменяются в коде для тестирования, то они не изменяются в коде модульного теста.
Итак, мой главный вопрос: есть ли какая-то хитрость, которую нужно использовать только для целей модульного тестирования, чтобы каким-то образом сделать определения глобальными или что-то в этом роде, не меняя исходный код, чтобы он соответствовал использованию модульного тестирования. Может быть, настройка компилятора? (Я использую Visual Studio 2008).