2009-03-01 1 views
4

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

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

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

+1

Если вам нужен тестер OS X, я был бы рад добровольцам. –

ответ

2

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

1

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

+0

Ссылка на описание TAP похоже на нарушение. Есть еще один? –

+0

Вы можете получить код там, полное описание можно найти здесь: http://en.wikipedia.org/wiki/Test_Anything_Protocol –

2

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

0

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

D

+0

Спасибо за предложение. Я посмотрю на это и дам вам знать. – dagw

Смежные вопросы