Один блок тестування одиниць на C - це перевірка ; перелік одиничних рамок тестування в C можна знайти тут і відтворений нижче. Залежно від того, скільки стандартних функцій бібліотеки має ваш час виконання, ви можете або не зможете використовувати одну з них.
AceUnit
AceUnit (Розширений C та вбудований блок) виставляє себе як зручне тестове середовище для кодового блоку С. Він намагається імітувати JUnit 4.x і включає можливості, схожі на рефлексію. AceUnit можна використовувати в середовищах з обмеженнями ресурсів, наприклад, вбудованим програмним забезпеченням, і, що важливо, він працює добре в середовищах, де ви не можете включити єдиний стандартний заголовок і не можете викликати єдину стандартну функцію C з бібліотек ANSI / ISO C. Він також має порт Windows. Він не використовує вилки для лову сигналів, хоча автори виявили зацікавленість у додаванні такої функції. Дивіться домашню сторінку AceUnit .
GNU Autounit
Багато в тому ж рядку, що і Check, включаючи форсування запуску одиничних тестів в окремому просторі адреси (насправді оригінальний автор Check перевірив цю ідею у GNU Autounit). GNU Autounit широко використовує GLib, що означає, що для зв’язування та подібних потреб потрібні спеціальні параметри, але це може не скласти для вас великих проблем, особливо якщо ви вже використовуєте GTK або GLib. Дивіться домашню сторінку GNU Autounit .
cUnit
Також використовує GLib, але не роздрібно захищає адресний простір тестів одиниці.
CUnit
Стандартний C, з планами на реалізацію графічного інтерфейсу Win32. В даний час не роздвоєний або іншим чином захищає адресний простір тестів одиниці. На початку розвитку. Дивіться домашню сторінку CUnit .
CuTest
Простий фреймворк із лише одним .c та одним .h файлом, який ви потрапляєте у своє початкове дерево. Дивіться домашню сторінку CuTest .
CppUnit
Основна рамка тестування блоку для C ++; ви також можете використовувати його для тестування коду С. Він стабільний, активно розвинений та має інтерфейс GUI. Основні причини не використовувати CppUnit для C - це по-перше, що він досить великий, по-друге, ви повинні написати свої тести на C ++, а це означає, що вам потрібен компілятор C ++. Якщо це не схоже на занепокоєння, це, безумовно, варто розглянути разом з іншими структурами тестування одиниць C ++. Дивіться домашню сторінку CppUnit .
embUnit
embUnit (Embedded Unit) - ще одна тестова основа для вбудованих систем. Здається, що AceUnit замінює цю. Домашня сторінка вбудованого блоку .
MinUnit
Мінімальний набір макросів і це все! Сенс у тому, щоб показати, як легко перевірити свій код. Див. Домашню сторінку MinUnit .
CUnit для містера Андо
Реалізація CUnit, яка є досить новою та, мабуть, ще на початку розвитку. Дивіться домашню сторінку містечка Андо .
Цей список востаннє оновлювався у березні 2008 року.
Більше рамок:
CMocka
CMocka є тестовою основою для C з підтримкою макетних об'єктів. Це простий у використанні та налаштуванні.
Див . Домашню сторінку CMocka .
Критерій
Критерій - це тестова рамка тестування на платформі C, що підтримує автоматичну реєстрацію тестів, параметризовані тести, теорії та може виводити в різні формати, включаючи TAP та JUnit XML. Кожен тест виконується у своєму процесі, тому сигнали та збої можна повідомляти або перевіряти, якщо це потрібно.
Додаткову інформацію див. На головній сторінці критеріїв .
HWUT
HWUT - це загальний інструмент Unit Test з великою підтримкою C. Він може допомогти створювати Makefiles, генерувати масивні тестові випадки, кодовані в мінімальних «таблицях ітерації», ходити по стаціонарних машинах, генерувати C-заглушки тощо. Загальний підхід є досить унікальним: вердикти базуються на «хорошій формі / поганій вигоді». Однак функція порівняння гнучка. Таким чином, для перевірки може використовуватися будь-який тип скриптів. Він може застосовуватися до будь-якої мови, яка може отримати стандартний вихід.
Дивіться домашню сторінку HWUT .
CGreen
Сучасна, портативна, мовна система тестування та глузування для C та C ++. Він пропонує додаткові позначення BDD, глузуючу бібліотеку, можливість запускати його в одному процесі (щоб спростити налагодження). Доступний тестовий бігун, який автоматично відкриває тестові функції. Але ви можете створити власну програмно.
Усі ці функції (та більше) пояснені в посібнику CGreen .
У Вікіпедії подано детальний перелік рамок тестування одиниць С у розділі Перелік одиничних рамок тестування: C