테스트 요구 사항
모든 동작 변경에는 정확성을 입증하고 디버깅 가능성을 유지하는 테스트가 포함되어야 합니다.
기본 기대 사항
대부분의 기능 작업의 경우 다음을 포함하는 테스트를 추가하거나 업데이트합니다.
- 파이프라인 빌드 정확성(예상되는 조각/문자열 형식).
- 파싱/검증 동작(캡스 협상 및 검증 실패).
- 런타임 동작(
run, 적용 가능한 경우 푸시/풀 및 종료 경로). - 진단 품질(
PipelineReport가 실패 경로에서 얼마나 유용한지).
변경 유형별 필수 테스트 유형
새 노드 또는 노드 그룹
- 결정적 조각 생성을 위한 단위 수준 검사.
- 캡스 또는 연결 가정에 대한 검증/파싱 적용 범위.
- 노드가 실제 체인에서 작동하는지 입증하는 최소 하나의 통합 경로.
런타임/파이프라인 오케스트레이션 변경
- 예상되는 출력 동작에 대한 성공 경로 테스트.
- 시간 초과, 플러그인 부재 또는 유효하지 않은 그래프 조건에 대한 실패 경로 테스트.
- 상태 처리가 변경될 때의 종료/수명 주기 안전성 어설션.
공개 API 시그니처 변경
- 변경된 공개 헤더/사용법을 사용하는 컴파일 타임 적용 범위를 추가하거나 업데이트합니다.
- 비호환성 확장이 아닌 경우 기존 사용법이 여전히 컴파일되는지 확인합니다.
- 승인된 호환성이 깨지는 변경 사항의 경우 대체 API 경로를 검증하는 마이그레이션 중심 테스트/예제를 포함합니다.
Python 바인딩 변경(python/, pyneat)
python/tests내에서pytest적용 범위를 추가/업데이트합니다.- 상호 운용 계약(NumPy/PyTorch DLPack 경로, 복사 대 제로 복사 동작)을 포함합니다.
- 설치된 휠 또는 편집 가능한 설치에 대한 최소 하나의 가져오기/스모크 테스트를 추가합니다.
진단 또는 관측 가능성 변경
- 추가/변경된 보고서 필드에 대한 테스트.
- 스트리밍 스레드에서 데이터가 업데이트될 때의 동시성 안전 동작.