자스민(소프트웨어)

Jasmine (software)
재스민
개발자Pivotal Labs
초기 출시2010년 9월 14일; 12년 전 (2010-09-14)[1]
안정적 방출
4.0.1 / 2022년 2월 22일, 17개월 전(2022-02-22)[2]
저장소
작성 위치자바스크립트
운영 체제크로스 플랫폼
유형단위 테스트
면허증.MIT 라이선스[3]
웹사이트jasmine.github.io Edit this on Wikidata

Jasmine은 [4]JavaScript용 오픈 소스 테스트 프레임워크입니다.자바스크립트 지원 플랫폼에서 실행되고, 애플리케이션이나 IDE에 침입하지 않으며, 읽기 쉬운 구문을 갖는 것을 목표로 합니다.ScrewUnit, JSSspec, JSspec,[5] RSspec과 같은 다른 장치 테스트 프레임워크의 영향을 많이 받습니다.

역사

Pivotal Labs for Jasmine의 개발자들은 이전에 [6]JsUnit라고 불리는 유사한 유닛 테스트 프레임워크를 Jasmine의 적극적으로 Jasmine을 개발하기 전에 말입니다.

특징들

  • 비동기 [7]테스트를 지원합니다.
  • 테스트 [7]더블을 구현하기 위해 '스파이'를 사용합니다.
  • Jasmine-jQuery라는 [7]프런트엔드 확장자를 통해 프론트엔드 코드 테스트를 지원합니다.

사용.

자스민은 읽기 쉬운 것을 목표로 합니다.간단한 hello world 테스트는 아래 코드와 같습니다. 여기서 description()은 일련의 테스트를 설명하며()는 개별 테스트 사양입니다."it()"라는 이름은 행동 중심 발달의 개념을 따르고 시험 이름의 첫 번째 단어 역할을 하는데, 이는 완전한 문장이어야 합니다.사용법은 Rspec의 구문과 유사한 구문을 참조하십시오.

아래 코드는 이 기능을 테스트합니다.

기능. 안녕 세계() {   돌아가다 '안녕 세상!; } 

출력이 실제로 "Hello world!" 텍스트인지 확인합니다.

묘사하라('안녕 세계', 기능.() {   그것('안녕하세요', 기능.() {     기대하다(안녕 세계()).동등하게('안녕 세상!);   }); }); 

자스민은 풍부한 붙박이 매트 세트를 제공합니다.위의 예에서 toEqual은 helloWorld() 함수에서 반환된 값과 'HelloWorld!' 문자열 사이의 동일성을 확인합니다.이는 다른 테스트 프레임워크에서 사용되는 주장과 동일합니다.Jasmine Matchers는 부울 값을 반환합니다. 예상이 일치하면 true이고,[7] 예상이 일치하지 않으면 false입니다.우수 관리 기준은 개별 검정 규격에 단일 기대값을 넣는 것입니다.

다른 기본 제공 매칭에는 ToBe, ToBeTruthy, BeFalsy, Containing, BeDefined, BeUndefined, BeNull, BeNaN, BeGreater 등이 있습니다.그보다 적게, 가까이 [8]있는 것.ID 일치자는 두 항목이 동일한 개체인지 확인합니다.조건은 BeTruthy, BeFalsy가 어떤 것이 참인지 거짓인지 평가하고 BeDefined, BeUndefined에 일치합니다.BeNull은 어떤 것이 null인지 확인하고 BeNaN은 어떤 것이 숫자(NaN)가 아닌지 확인합니다.Precision Matcher toBeCloseTo는 두 개의 파라미터를 수락하고 두 번째 파라미터에 표시된 것처럼 소수점 이하의 정밀도가 지정된 경우 첫 번째 파라미터에 숫자가 가까운지 확인합니다.포함할 일치 도구는 요소, 개체 또는 하위 문자열이 배열, 목록 또는 문자열에 포함되어 있는지 확인하는 데 사용됩니다.

Throw에 대한 특수 기본 제공 일치는 예외가 [7]발생했는지 확인하는 데 사용됩니다.아래 코드는 "일부 예외"가 발생했음을 확인합니다.

묘사하라('예외를 예상합니다.', 기능.() {   그것('어떤 예외가 있음', 기능.() {     기대하다( 기능.(){ 던지다('어떤 예외'); }).투스로('어떤 예외');   }); }); 

Jasmine에는 사용자 지정 일치자, 스파이 및 비동기 사양 지원과 같은 여러 가지 다른 기능이 있습니다.

재스민 테스트 주자

자스민에는 테스트 러너가 내장되어 있습니다.Jasmine 테스트는 간단한 SpecRunner.html[9] 파일을 포함하거나 Nodejs, Python, Ruby와 같은 다양한 언어에서 지원되는 명령줄 테스트 러너로 사용하거나 간단한 JavaScript 테스트 러너 도구인 [10]Karma를 사용하여 브라우저 테스트를 실행할 수 있습니다.

재스민과 모카의[11] 비교

모카는 또 다른 인기 있는 자바스크립트 테스트 프레임워크입니다.자스민과 모카의 비교는 아래 표에 나와 있습니다.

재스민 모카
자스민은 스파이를 사용하여 테스트 복식을 제공합니다. 모카는 테스트 더블 라이브러리가 제공되지 않으며, 일반적으로 시논과 같은 외부 라이브러리를 사용합니다.
Jasmine에는 테스트를 실행할 수 있는 명령줄 유틸리티가 있습니다. Mocha에는 테스트를 실행할 수 있는 명령줄 유틸리티가 있습니다.
자스민에게는 주장이 내재되어 있습니다. Mocha에는 어설션 라이브러리가 없으며 어설션에 Chai를 사용합니다.

혜택들

  • Jasmine의 목표는 브라우저, 프레임워크, 플랫폼 및 언어에 [12]독립적인 것입니다.
  • 자스민은 행동 중심 개발 외에도 테스트 중심 [12]개발도 지원합니다.

참고 항목

레퍼런스

  1. ^ Frank, Davis W. "Jasmine 1.0 Released". Pivotal Labs. Archived from the original on 22 February 2014. Retrieved 11 February 2014.
  2. ^ "Releases · jasmine/jasmine". github.com. Retrieved 2022-04-05.
  3. ^ "jasmine/MIT.LICENSE". GitHub. Retrieved 25 April 2017.
  4. ^ "Home". jasmine.github.io.
  5. ^ "Background · jasmine/Jasmine Wiki". GitHub.
  6. ^ GitHub JsUnit 프로젝트 페이지
  7. ^ a b c d e Ragonha, Paulo (2013). Jasmine JavaScript Testing. Packt Publishing. ISBN 978-1782167211.
  8. ^ Hahn, Evan (2013). JavaScript Testing with Jasmine. O'Reilly Media. ISBN 978-1449356378.
  9. ^ "A simple project". GitHub.
  10. ^ "Karma Jasmine".
  11. ^ "Jasmine vs. Mocha". Marco Franssen. Retrieved 13 February 2017.
  12. ^ a b "Comparison: Jasmine vs Mocha vs QUnit StackShare". Retrieved 13 February 2017.

외부 링크