WIPIVERSE

자스민 (소프트웨어)

정의
자스민(Jasmine)은 자바스크립트용 행동 주도 개발(Behavior‑Driven Development, BDD) 테스트 프레임워크이다. 테스트 코드를 순수 자바스크립트로 작성하도록 설계되어 있으며, 별도의 DOM, 브라우저, 혹은 다른 테스트 러너가 필요하지 않다. 오픈 소스 프로젝트로, MIT 라이선스로 배포된다.

주요 특징

특징 설명
BDD 스타일 describe, it, expect와 같은 구문을 사용해 테스트 스위트와 사양을 서술형으로 기술한다.
무의존성 프레임워크 자체만으로 동작하며, 추가적인 어설션 라이브러리나 목(mock) 프레임워크가 필요 없다.
다양한 환경 지원 Node.js 환경, 브라우저, Karma, Jest 등 다양한 실행 환경과 호환된다.
스파이와 목 기능 jasmine.createSpy, jasmine.createSpyObj 등을 통해 함수 호출을 추적하고 대체할 수 있다.
비동기 테스트 지원 done 콜백, async/await, returnsPromise 옵션 등을 통해 비동기 코드 테스트가 가능하다.
플러그인 및 확장성 커스텀 매처(custom matcher) 작성, Jasmine‑JQuery, jasmine‑ajax 등 서드파티 플러그인 존재.

역사

  • 2010년: Pivotal Labs에서 최초 공개.
  • 2012년: 2.0 버전 출시, API 안정화 및 새로운 매처 추가.
  • 2014년 이후: 커뮤니티 중심의 유지보수 전환, 지속적인 버전 업데이트가 이루어짐.
  • 최신 안정 버전(2023년 기준): 4.x 시리즈.

사용 사례

  • 프론트엔드 단위 테스트: React, Angular, Vue 등과 조합해 UI 로직 검증.
  • 백엔드(Node.js) 로직 검증: 서비스 로직, 유틸리티 함수 등에 대한 자동화 테스트.
  • CI/CD 파이프라인: Jenkins, GitHub Actions 등에서 테스트 스크립트를 실행해 품질 검증 단계에 통합.

관련 기술

  • Karma: 브라우저 기반 테스트 실행기와 함께 사용되어 다양한 브라우저에서 자스민 테스트를 수행.
  • Protractor: Angular 애플리케이션 E2E 테스트 시 자스민 매처를 활용.
  • Jest: Jest가 자체 매처를 제공하지만, 자스민 매처를 가져와 사용할 수 있다.

참고

  • 공식 문서: https://jasmine.github.io/
  • GitHub 저장소: https://github.com/jasmine/jasmine

위 내용은 공개된 공식 자료와 널리 인정받는 기술 문서를 기반으로 작성되었으며, 확인되지 않은 추측은 포함되지 않았다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기