Ответ 1
Я играл с libcheck, что довольно хорошо. Это было какое-то время с тех пор, как я в последний раз его использовал, но он выполняет эту работу и просто прям.
Я только что начал новый проект C, используя gcc (в настоящее время 4.5.2). Теперь, прежде чем он станет слишком большим, я хочу начать его тестирование. После некоторого googling я понял, что на выбор есть множество фреймворков. Я не могу позволить себе тестировать их все.
Обратите внимание: я не возражаю против использования g++ для модульных тестов, если я могу использовать gcc для самого проекта. Это не повредит, если он имеет хорошую интеграцию VIM, хотя и не обязательно.
Итак, просто, что я должен выбрать и почему?
Я играл с libcheck, что довольно хорошо. Это было какое-то время с тех пор, как я в последний раз его использовал, но он выполняет эту работу и просто прям.
Я лично поклонник Google С++ Testing Framework. Это требует g++ (я не думаю, что есть способ обойти это), но он очень хорошо справляется с тестовыми приборами и имеет очень полезный тестовый результат. Это структура, используемая Chrome. Вам также не нужно беспокоиться об установке его в вашей системе, так как он может быть создан вместе с остальной частью вашего источника.
Тестовый файл может быть таким же простым, как это:
#include "gtest/gtest.h"
#include "random.h"
TEST( TestGetRandomInt, ReturnsARandomNumber ){
ASSERT_EQ( 4, getRandomInt() );
}