Какая структура C unit test?

Я только что начал новый проект C, используя gcc (в настоящее время 4.5.2). Теперь, прежде чем он станет слишком большим, я хочу начать его тестирование. После некоторого googling я понял, что на выбор есть множество фреймворков. Я не могу позволить себе тестировать их все.

Обратите внимание: я не возражаю против использования g++ для модульных тестов, если я могу использовать gcc для самого проекта. Это не повредит, если он имеет хорошую интеграцию VIM, хотя и не обязательно.

Итак, просто, что я должен выбрать и почему?

Ответы

Ответ 1

Я играл с libcheck, что довольно хорошо. Это было какое-то время с тех пор, как я в последний раз его использовал, но он выполняет эту работу и просто прям.

Ответ 2

Я лично поклонник Google С++ Testing Framework. Это требует g++ (я не думаю, что есть способ обойти это), но он очень хорошо справляется с тестовыми приборами и имеет очень полезный тестовый результат. Это структура, используемая Chrome. Вам также не нужно беспокоиться об установке его в вашей системе, так как он может быть создан вместе с остальной частью вашего источника.

Тестовый файл может быть таким же простым, как это:

#include "gtest/gtest.h"
#include "random.h" 

TEST( TestGetRandomInt, ReturnsARandomNumber ){
    ASSERT_EQ( 4, getRandomInt() );
}