Mocha
는 Node.js와 브라우저에서 실행되는 오픈 소스 JavaScript 테스트 프레임워크다.
특징으로는 매우 간단한 인터페이스로 동기 및 비동기 코드를 테스트 하도록 설계되있다는 것과 확장이 용이하다는 것이다. 또한 테스트 케이스가 서로 독립적으로 실행되도록 테스트 중인 소프트웨어의 상태 정리 역시 맡아서 해준다.
Mocha
는 자체 Assertion, Mocking, Stubbing 등의 라이브러리를 포함하지 않으므로 필요 시 라이브러리를 가져와 사용할 수 있는데, 주로 Chai
라는 Assertion 라이브러리 혹은 Node.js가 기본적으로 제공하는 Assert 모듈과 함께 사용된다고 한다. Mocking 라이브러리는 Sinon
을 주로 사용한다고 한다.
Mocha
는 각 모듈에서 별도로 호출하지 않으며, 사용할 Assertion 라이브러리만 호출해서 사용한다.
동등성 검사를 하거나 예상 결과를 실제 결과와 비교하기 위해 사용하는 Assertion 모듈이다.
테스트 중인 메소드는 다른 외부 메소드와 상호 작용하거나 호출해야하는데, 외부 메소드를 Spy, Stub 혹은 Mocking 하는 일을 한다.
SPY