[c] C 언어 테스트 케이스 작성
C 언어로 테스트 케이스를 작성하는 방법에 대해 알아보겠습니다.
1. 단위 테스트 라이브러리 선택
C 언어의 경우에는 여러 단위 테스트 라이브러리가 있지만, 여기서는 Check를 사용해보겠습니다.
2. 테스트 케이스 작성
#include <check.h>
START_TEST(test_example)
{
ck_assert_int_eq(1, 1);
}
END_TEST
위의 코드는 “test_example”이라는 단위 테스트 케이스를 작성한 예시입니다. START_TEST
와 END_TEST
사이에 테스트 로직을 작성하고, ck_assert_
매크로를 사용하여 테스트를 수행합니다.
3. 테스트 스위트 작성
#include <check.h>
Suite *test_suite(void)
{
Suite *s;
TCase *tc_core;
s = suite_create("Example");
tc_core = tcase_create("Core");
tcase_add_test(tc_core, test_example);
suite_add_tcase(s, tc_core);
return s;
}
위의 코드는 테스트 스위트를 작성하는 예시입니다. suite_create
함수로 스위트를 생성하고, tcase_create
함수로 테스트 케이스 안에 테스트를 추가합니다.
4. 메인 함수 작성
#include <check.h>
int main(void)
{
Suite *s;
SRunner *sr;
int number_failed;
s = test_suite();
sr = srunner_create(s);
srunner_run_all(sr, CK_NORMAL);
number_failed = srunner_ntests_failed(sr);
srunner_free(sr);
return (number_failed == 0) ? 0 : 1;
}
위의 코드는 메인 함수를 작성하는 예시입니다. srunner_run_all
함수로 모든 테스트를 실행하고, 결과에 따라 0 또는 1을 반환합니다.
C 언어로 테스트 케이스를 작성하는 방법에 대해 간략히 살펴보았습니다. Check 라이브러리 외에도 여러 다른 라이브러리가 있으니 상황에 맞게 선택하여 사용하시면 됩니다.