본문으로 건너뛰기

테스트 프로젝트 실행하기

HandStack 소스의 5.Test에는 호스트 5개, 모듈 10개, 인프라 3개에 대응하는 .NET 10/xUnit 테스트 프로젝트가 있습니다. 솔루션 폴더와 실제 디스크 구조는 5.Test/1.WebHost, 5.Test/2.Modules, 5.Test/3.Infrastructure로 일치합니다. 프로젝트 이름은 Ack.Tests, DbClient.Tests, Core.Tests처럼 HandStack. 접두어 없이 사용합니다. 공통 설정과 실행 스크립트는 5.Test 바로 아래에 유지합니다. 임시 파일이 필요한 테스트 클래스는 자체 비공개 TestDirectory로 테스트 전용 경로의 생성·정리를 처리합니다.

전체 또는 특정 프로젝트 실행​

소스 저장소 루트에서 실행합니다. 원본 프로젝트의 PostBuild가 계약과 실행 파일을 복사하므로 임시 출력 경로를 설정하는 전용 스크립트를 사용합니다.

# 모든 기본 회귀 테스트를 순서대로 실행합니다.
./5.Test/Test.ps1

# SQL 필터 테스트 프로젝트만 실행합니다.
./5.Test/Test.ps1 -Project DbClient.Tests

# 특정 테스트 클래스만 실행합니다.
./5.Test/Test.ps1 -Project Transact.Tests -Filter 'FullyQualifiedName~DataMapValidationTests'

# Release 구성으로 실행합니다.
./5.Test/Test.ps1 -Configuration Release

스크립트는 임시 HANDSTACK_HOME과 rdy 정적 자산 출력 경로를 만들고 원래 환경 변수를 복원합니다. 끝에 프로젝트별 통과·실패·건너뜀 수와 TRX 저장 경로를 표시합니다. 빌드 또는 테스트 실패, 결과 파일 누락은 종료 코드 1로 처리합니다.

개별 프로젝트도 직접 실행할 수 있습니다. 테스트의 ProjectReference에는 임시 출력 기본값이 적용됩니다.

dotnet test 5.Test/3.Infrastructure/Core.Tests/Core.Tests.csproj

공통 패키지와 비배포 설정은 5.Test/Directory.Build.props, 프로젝트별 대상과 자세한 검증 범위는 5.Test/README.md에서 확인합니다. 테스트는 실행 호스트의 모듈 로드 목록이나 배포 패키지에 포함하지 않습니다.

확인하는 범위​

대상기본 회귀 검사
ack·rdy·agent·deploy·forbes라우팅, 관리 키, 패키지 경로, 파일 감시
실행·저장 모듈 10개계약 파싱, SQL 매개변수화, 입력·작업 대기·메타데이터, IP·파일·동기화 정책
Core·Data·WebUnicode 압축 왕복, 실제 인메모리 SQLite 조회, OS 설정 병합·우선순위

기본 회귀 테스트는 외부 DB·그래프 서버·LLM·클라우드와 실제 배포·프로세스 제어를 연결하지 않습니다. 기능별 환경을 준비한 뒤 별도의 통합 검증을 수행합니다.