Исправление slovazap, (текущая версия) :
Тестирование - это просто вызов фрагментов кода с проверкой возвращаемых значений. В самом простом случае это банальный набор assert'ов:
assert(mysquare(0) == 0);
assert(mysquare(1) == 1);
assert(mysquare(2) == 4);
Если хочется красивостей, бери любую библиотеку для тестирования (можно плюсовую, gtest, catch, наверняка есть и сишные) - вместо assert у тебя будут какие-нибудь EXPECT_FOO() которые по сути то же самое, только будут красиво печатать что происходит. А можешь просто сам написать набор простейших макросов вида
#define EXPECT_TRUE(val) do { \
int ret = !!(val); \
if (ret) { \
printf("[PASSED] %s\n", #val); \
} else { \
printf("[FAILED] %s\n", #val); \
exit(1); \
} \
} while(0)
...
EXPECT_TRUE(mysquare(0) == 0);
EXPECT_TRUE(mysquare(1) == 2);
EXPECT_TRUE(mysquare(2) == 4);
и получить то же самое.
Исходная версия slovazap, :
Тестирование - это просто вызов фрагментов кода с проверкой возвращаемых значений. В самом простом случае это банальный набор assert'ов:
assert(square(0) == 0);
assert(square(1) == 1);
assert(square(2) == 4);
Если хочется красивостей, бери любую библиотеку для тестирования (можно плюсовую, gtest, catch, наверняка есть и сишные) - вместо assert у тебя будут какие-нибудь EXPECT_FOO() которые по сути то же самое, только будут красиво печатать что происходит. А можешь просто сам написать набор простейших макросов вида
#define EXPECT_TRUE(val) do { \
int ret = !!(val); \
if (ret) { \
printf("[PASSED] %s\n", #val); \
} else { \
printf("[FAILED] %s\n", #val); \
exit(1); \
} \
} while(0)
...
EXPECT_TRUE(square(0) == 0);
EXPECT_TRUE(square(1) == 2);
EXPECT_TRUE(square(2) == 4);
и получить то же самое.