Programming/Javascript

Jest, Mocha, Chai

c29130811 2024. 6. 8. 16:04

 

Jest

  • Facebook에서 만든 Javascript Testing Framework
  • 주요 특징:
    • 올인원 테스트 솔루션: 테스트 러너, assertion 라이브러리, mock 기능 등을 포함.
    • 자동화된 모킹 및 타임 트래블 기능 지원.
    • 스냅샷 테스트 기능: 컴포넌트의 렌더링 출력을 스냅샷으로 저장하여 이후 변경 사항을 추적.
    • 빠른 테스트 실행: 내부적으로 여러 테스트를 병렬로 실행하여 속도가 빠름.
    • 설정이 거의 필요 없는 간편한 사용법.
test('adds 1 + 2 to equal 3', () => {
  expect(1 + 2).toBe(3);
});

Mocha

  • Node.js와 브라우저에서 실행되는 기능이 풍부한 자바스크립트 테스트 프레임워크
  • 주요 특징:
    • 유연성과 확장성이 뛰어남: 다양한 assertion 라이브러리와 함께 사용 가능(예: Chai).
    • 비동기 코드 테스트 지원.
    • BDD(TDD) 스타일의 인터페이스 제공.
    • 테스트 보고서 출력 형식을 여러 가지로 설정 가능.
onst assert = require('assert');

describe('Array', () => {
  describe('#indexOf()', () => {
    it('should return -1 when the value is not present', () => {
      assert.strictEqual([1, 2, 3].indexOf(4), -1);
    });
  });
});

Chaijs

  •  Node.js 및 브라우저용 BDD/TDD Assertion 라이브러리
  • 주요 특징:
    • BDD 및 TDD 스타일의 assertion 지원 (expect, should, assert 인터페이스 제공)
    • Mocha와 같은 테스트 러너와 함께 사용됨.
    • 다양한 플러그인 지원.
    • 유연하고 읽기 쉬운 assertion 문법.
const chai = require('chai');
const expect = chai.expect;
describe('Array', () => {
  describe('#indexOf()', () => {
    it('should return -1 when the value is not present', () => {
      expect([1, 2, 3].indexOf(4)).to.equal(-1);
    });
  });
});

 

 

728x90

'Programming > Javascript' 카테고리의 다른 글

Chai - should, expect, assert  (0) 2024.06.10
push pop shift unshift  (0) 2022.12.04
Array 랜덤 배열  (0) 2022.05.02
익명함수와 즉시 실행 함수  (0) 2021.05.29
함수 호출 및 return  (0) 2021.05.21