Skip to content

mr-yoo/vieworks-copilot-init-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My C Project 3

간단한 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 프레임워크를 사용한 자동화된 테스트

빌드 및 실행

1. 빌드

# 빌드 디렉토리 생성 및 이동
mkdir build && cd build

# CMake 구성
cmake ..

# 빌드
make

2. 프로그램 실행

./my_c_project

출력:

Hello, World!

3. 테스트 실행

# 단위 테스트 실행
./test_my_c_project

# 또는 CTest 사용
ctest

테스트 출력:

Unity test run 1 of 1
.
-----------------------
2 Tests 0 Failures 0 Ignored 
OK

VS Code에서 개발

이 프로젝트는 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 테스트 프레임워크

이 프로젝트는 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일

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published