프로젝트 소개
Sinon.JS는 단위 테스트 작성을 위한 포괄적인 도구 세트를 제공하는 인기 있는 JavaScript 테스트 라이브러리입니다. 이 라이브러리는 세 가지 핵심 개념을 제공합니다: 스파이, 스텁, 모의 객체입니다. 스파이는 함수를 감싸 호출과 인수를 기록하며, 스텁은 함수를 제어된 동작으로 대체하고, 모의 객체는 이 둘을 결합하여 예상된 동작을 검증합니다.
이 라이브러리는 독립형이며 테스트 프레임워크에 종속되지 않도록 설계되어 있어, Mocha, Jasmine, QUnit, Jest 등 어떤 테스트 프레임워크와도 함께 사용할 수 있습니다. 전역 오염 없음, 사용 편의성, 최소한의 통합 요구 사항, 어떤 테스트 프레임워크와의 원활한 임베딩을 지향합니다.
설치는 npm(`npm install sinon`) 또는 프로젝트 홈페이지에서 제공되는 브라우저 빌드를 통해 간단하게 수행할 수 있습니다. 또한 npm 기반 CDN도 지원하여 쉽게 통합할 수 있습니다.
주요 기능은 다음과 같습니다:
- 스파이: 함수 호출, 인수, 반환값을 기록합니다.
- 스텁: 함수를 제어된 동작으로 대체합니다.
- 모의 객체: 스파이와 스텁을 결합하여 예상된 동작을 검증합니다.
- 페이크 타이머: setTimeout, setInterval, Date 등을 위한 즉시 사용 가능한 페이크를 제공합니다.
- 전역 오염 없음: 전역 네임스페이스를 오염시키지 않는 깔끔한 API를 제공합니다.
이 프로젝트는 BSD-3 라이선스를 따르며 커뮤니티의 기여와 함께 활발히 유지 관리되고 있습니다. 마이그레이션 중 공개 API를 보호하기 위해 아티팩트 우선 계약 테스트를 사용합니다. `lib/` 디렉터리에는 생성된 빌드 결과물이 포함되어 있으며 저장소에 커밋되지 않습니다. 개발자는 `npm run build`를 사용하여 로컬에서 이를 다시 생성할 수 있습니다.
Sinon.JS는 신뢰할 수 있고 유지 관리 가능한 단위 테스트를 작성하기 위해 JavaScript 생태계에서 널리 사용되고 있습니다. 깔끔한 API와 프레임워크에 종속되지 않는 설계 덕분에 다양한 테스트 환경에서 작업하는 개발자에게 유연한 선택지입니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.