кросс-платформенное тестирование в C - PullRequest
4 голосов
/ 01 марта 2009

Я начинаю новый проект и решил, что я должен дать этому модульному тестированию то, что все продолжают говорить о попытке.

Проект представляет собой набор библиотек C (поэтому тестирование пользовательского интерфейса или взаимодействия с пользователем не требуется) и нацелен на то, чтобы стать кроссплатформенным, с Linux, FreeBSD и Windows, являющимся моим первым приоритетом, и OS X планируется после выхода первого релиза. дверь (при условии, что я могу взять машину под управлением OS X для тестирования).

Есть ли у кого-нибудь опыт или рекомендации по созданию хорошей платформы для модульного тестирования на С, которая легко работает на разных платформах?

Ответы [ 5 ]

2 голосов
/ 01 марта 2009

Я начал с minunit , а затем разработал его в соответствии с моими требованиями. Вместо того, чтобы поддерживать наборы тестов из среды тестирования, я просто использую make для создания и запуска различных исполняемых файлов, в каждом из которых содержится около дюжины связанных тестов. Итак, теперь у меня есть около 250 строк макросов, в основном для распечатки различных типов или для сравнения строк или памяти, и этого достаточно на данный момент.

2 голосов
/ 01 марта 2009

Я использовал CUnit , который мне понравился. Кроме того, Google открыли исходный код C ++ модульного тестирования .

.
2 голосов
/ 01 марта 2009

Когда я писал код на C, все мои модульные тесты были специальными, без фреймворка, поэтому я не могу порекомендовать ни один из них, но вы можете посмотреть список инструментов модульного тестирования C / C ++. в http://www.opensourcetesting.org/unit_c.php.

1 голос
/ 01 марта 2009

Я довольно неравнодушен к касанию (прокрутите вниз около дна), потому что его легко упасть на место. Это означает «проверить что-либо протокол». Я не думаю, что вы столкнетесь с множеством проблем переносимости, если будете использовать компиляторы, выпущенные за последние 5 лет, но я пробовал это только с gcc / glibc.

0 голосов
/ 02 марта 2009

Я использую свою собственную структуру модульного тестирования CUnitWin32 для встроенного C-содержимого. Моей средой разработки хоста является Win32, поэтому платформа, доступная онлайн, предназначена только для Windows. Тем не менее, я также перенес его на Linux, поэтому, если у вас работает фреймворк, напишите мне комментарий, и мы найдем способ получить вашу версию для Linux.

D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...