☕ Mocha란?

Mocha는 Node.js와 브라우저에서 실행되는 오픈 소스 JavaScript 테스트 프레임워크다.

특징으로는 매우 간단한 인터페이스로 동기 및 비동기 코드를 테스트 하도록 설계되있다는 것과 확장이 용이하다는 것이다. 또한 테스트 케이스가 서로 독립적으로 실행되도록 테스트 중인 소프트웨어의 상태 정리 역시 맡아서 해준다.

Mocha 는 자체 Assertion, Mocking, Stubbing 등의 라이브러리를 포함하지 않으므로 필요 시 라이브러리를 가져와 사용할 수 있는데, 주로 Chai 라는 Assertion 라이브러리 혹은 Node.js가 기본적으로 제공하는 Assert 모듈과 함께 사용된다고 한다. Mocking 라이브러리는 Sinon 을 주로 사용한다고 한다.

Mocha 는 각 모듈에서 별도로 호출하지 않으며, 사용할 Assertion 라이브러리만 호출해서 사용한다.

🧉 Chai

동등성 검사를 하거나 예상 결과를 실제 결과와 비교하기 위해 사용하는 Assertion 모듈이다.

👩‍🦳 Sinon

테스트 중인 메소드는 다른 외부 메소드와 상호 작용하거나 호출해야하는데, 외부 메소드를 Spy, Stub 혹은 Mocking 하는 일을 한다.

SPY