간단한 C 프로젝트로 Unity 테스트 프레임워크를 사용한 단위 테스트를 포함합니다.
my-c-project-3/
├── CMakeLists.txt # CMake 빌드 설정
├── README.md # 프로젝트 문서
├── .vscode/ # VS Code 설정
│ ├── launch.json # 디버깅 설정
│ └── tasks.json # 빌드 태스크 설정
├── include/ # 헤더 파일
│ └── function.h # 함수 선언 및 매크로
├── src/ # 소스 파일
│ ├── main.c # 메인 프로그램
│ └── functions.c # 함수 구현
├── test/ # 테스트 파일
│ └── test_main.c # Unity 단위 테스트
└── build/ # 빌드 결과물
- 메인 프로그램: "Hello, World!" 출력
- 예제 함수:
exampleFunction()- 테스트용 함수 - 매크로:
EXAMPLE_MACRO(값: 42) - 단위 테스트: Unity 프레임워크를 사용한 자동화된 테스트
# 빌드 디렉토리 생성 및 이동
mkdir build && cd build
# CMake 구성
cmake ..
# 빌드
make./my_c_project출력:
Hello, World!
# 단위 테스트 실행
./test_my_c_project
# 또는 CTest 사용
ctest테스트 출력:
Unity test run 1 of 1
.
-----------------------
2 Tests 0 Failures 0 Ignored
OK
이 프로젝트는 VS Code에서 개발하도록 설정되어 있습니다:
Ctrl+Shift+P→ "Tasks: Run Build Task" 또는Ctrl+Shift+B
F5키를 눌러 디버깅 시작- 브레이크포인트 설정 가능
- configure: CMake 구성
- build: 프로젝트 빌드
- clean: 빌드 아티팩트 정리
- run: 메인 프로그램 실행
- CMake 3.10 이상
- GCC 컴파일러
- GDB (디버깅용)
- Git (Unity 프레임워크 다운로드용)
- 언어: C (C99 표준)
- 빌드 시스템: CMake
- 테스트 프레임워크: Unity (자동으로 다운로드됨)
- 디버거: GDB
- 개발 환경: VS Code + C/C++ Extension
이 프로젝트는 Unity Test Framework를 사용합니다:
- 자동 다운로드: CMake FetchContent를 통해 자동으로 다운로드
- 간단한 문법:
TEST_ASSERT_*매크로 사용 - 상세한 리포트: 테스트 결과를 명확하게 표시
void test_exampleFunction(void) {
exampleFunction(); // 함수 호출 테스트
TEST_PASS();
}
void test_macro(void) {
TEST_ASSERT_EQUAL(42, EXAMPLE_MACRO); // 매크로 값 테스트
}이 프로젝트는 학습 목적으로 만들어졌습니다.
개발 환경: Ubuntu 24.04.2 LTS (Dev Container)
최종 업데이트: 2025년 9월 11일