LINUX.ORG.RU

История изменений

Исправление 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);

и получить то же самое.