LINUX.ORG.RU

История изменений

Исправление Tark, (текущая версия) :

Все функции по возможности в отдельные файлы (чтобы не тянулось всякое нерезолвенное барахло).

Да не обязательно, подключать можно весь файл, функция ведь не подтянется если не используется.

Там везде есть обмен с регистрами. Вроде как надо вместо них подставлять вызовы мок-функций, но подсунуть их можно только ifdef (фейл - типа прога не должна знать что ее тестирует, с чем я согласен)

Посмотри на веб, там архитектура заточена под проекты живущие 5-10 лет и над которыми работает мильон индусов. И вот там сейчас популярна такая вещь, как DI, и в общем вместо хидера с настоящими функциями ты для тестирования можешь подключать хидер с мок функциями, в крайнем случае ifdef будет в подключении хидеров, но должны быть уже стандартные решения.

Вообще тестирование штука ресурсозатратная, как и кроссплатформенность. Кода тестов обычно в несколько раз больше чем непосредственно кода программы. И вообще, взгляни на яваскрипт, оно одинаково работает на всех архитектурах и из под любого браузера, но накладные расходы тоже не маленькие.

Исходная версия Tark, :

Все функции по возможности в отдельные файлы (чтобы не тянулось всякое нерезолвенное барахло).

Да не обязательно, подключать можно весь файл, функция ведь не подтянется если не используется.

Там везде есть обмен с регистрами. Вроде как надо вместо них подставлять вызовы мок-функций, но подсунуть их можно только ifdef (фейл - типа прога не должна знать что ее тестирует, с чем я согласен)

Посмотри на веб, там архитектура заточена под проекты живущие 5-10 лет и над которыми работает мильон индусов. И вот там сейчас популярна такая вещь, как DI, и в общем вместо хидера с настоящими функциями ты для тестирования можешь подключать хидер с мок функциями, в крайнем случае ifdef будет в подключении хидеров, но должны быть уже стандартные решения.

Вообще тестирование штука ресурсозатратная, как и кроссплатформенность. Взгляни на яваскрипт, оно одинаково работает на всех архитектурах и из под любого браузера, но накладные расходы тоже не маленькие.