Show HN: Tusk Drift – API 테스트 자동화 오픈 소스 도구
요약
Tusk Drift SDK는 Node.js 기반의 오픈 소스 도구로, 서비스의 API 호출을 캡처하고 재연하여 빠르고 결정론적인(deterministic) API 테스트를 가능하게 합니다. 실제 환경에서 발생하는 API 트래픽을 기록한 후, Tusk CLI를 이용해 이를 테스트 케이스로 재생함으로써 회귀 버그를 효과적으로 찾아낼 수 있습니다.
핵심 포인트
- API 호출 캡처 및 재연을 통한 결정론적 테스트 구현
- 실제 트래픽 기반으로 회귀(regression) 테스트 수행 가능
- 재연 과정에서 아웃바운드 요청 가로채기로 일관된 동작 보장
The Node.js Tusk Drift SDK는 서비스로 들어오거나 나가는 API 호출을 캡처하고 재연함으로써 빠르고 결정론적인 (deterministic) API 테스트를 가능하게 합니다. 실제 환경의 API 호출을 자동으로 기록한 다음, Tusk CLI를 사용하여 이를 테스트로 재연하여 회귀(regression)를 찾습니다. 재연 과정 중 모든 아웃바운드 요청은 기록된 데이터를 이용해 가로채지므로 (intercepted), 부작용 없이 일관된 동작을 보장합니다.
<div align="center">
문서화 (Documentation)
종합적인 가이드와 API 참조를 보려면 전체 문서를 방문하세요.
SDK 가이드
- 초기화 가이드 - Node.js 애플리케이션에 SDK 설정
- 환경 변수 - 환경 변수 참고 자료
- 빠른 시작 가이드 - 첫 번째 트레이스 기록 및 재생
- 문제 해결 가이드 - 일반적인 문제와 해결책


요구 사항 (Requirements)
Tusk Drift는 현재 다음 패키지와 버전을 지원합니다:
- HTTP/HTTPS: 모든 버전 (Node.js 내장)
- GRPC:
@grpc/[email protected](아웃바운드 요청 전용) - PG:
[email protected],[email protected] - Firestore:
@google-cloud/[email protected] - Postgres:
[email protected] - MySQL:
[email protected],[email protected] - MongoDB:
[email protected] - Redis:
[email protected](@redis/[email protected],5.x) - IORedis:
[email protected] - Upstash Redis:
@upstash/[email protected] - GraphQL:
[email protected] - Prisma:
[email protected] - JSON Web Tokens:
[email protected] - JWKS RSA:
[email protected]
위에 나열되지 않은 패키지나 버전을 사용하는 경우, 해당 패키지와 원하는 버전에 대한 계측(instrumentation)을 요청하는 이슈를 생성해 주십시오.
설치 (Installation)
1단계: CLI 설치
먼저 CLI 설치 가이드를 따라 Tusk Drift CLI를 설치하고 구성합니다. 이 CLI는 Tusk 설정 파일을 설정하고 테스트를 재생하는 데 도움이 됩니다.
이 마법사(wizard)는 SDK를 설정할 차례가 되면 결국 이곳으로 안내할 것입니다.
2단계: SDK 설치
CLI 마법사를 완료한 후, 다음 명령어로 SDK를 설치합니다:
npm install @use-tusk/drift-node-sdk
3단계: 서비스용 SDK 초기화
초기화 가이드를 참조하여 서비스에 맞는 SDK를 설정합니다.
4단계: 첫 번째 테스트 실행
빠른 시작 가이드를 따라 첫 번째 테스트를 기록하고 재생해 보세요!
문제 해결 (Troubleshooting)
문제가 있나요?
- 문제 해결 가이드(troubleshooting doc)를 읽어보세요.
- 이슈를 생성하거나 [email protected]로 문의해 주세요.
커뮤니티 (Community)
Slack에서 오픈 소스 커뮤니티에 참여해 주세요.
기여 (Contributing)
피드백과 기여에 감사드립니다. CONTRIBUTING.md를 참고하세요.
라이선스 (License)
본 프로젝트는 Apache License 2.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 확인해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Show HN (AI)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기