Skip to content

Development

ClarusIubar edited this page Aug 14, 2026 · 5 revisions

Development

한국어 | English

pip install -r requirements-dev.txt
pytest

common/의 함수들은 순수 함수라 파일시스템 없이 바로 테스트합니다. 벤더별 파서 중 _active_branch_nodes(ChatGPT 브랜치 선택), _parse_kst(Gemini 시간 파싱) 등 핵심 로직도 합성 데이터로 커버합니다.

실제 대용량 takeout 데이터를 이용한 전체 파이프라인 검증(기존 결과물과의 byte-diff)은 자동 테스트에 포함하지 않았습니다 — 개인 데이터라 커밋할 수 없기 때문에, 회귀가 의심될 때 수동으로 재실행해서 비교합니다.

테스트 구성

  • tests/test_config.py — config.json 로딩/기본값/우선순위
  • tests/test_publish.py — vault 미러링 upsert 동작
  • tests/test_upsert.py — content_hash 비교 기반 created/updated/unchanged 분기, CRLF 라운드트립 회귀 테스트
  • tests/test_session_markdown.py — frontmatter/callout 조립, turn 메타데이터 (turn_index/role/parent_turn_index/has_attachment) 계산
  • tests/test_run_input.py — resolve_source/resolve_output_dir/resolve_vault_dir 경로 우선순위

관련 문서: Architecture

Clone this wiki locally