-
테스트 스위트 (Test Suites): Mocha는 각각의 테스트 오브젝트들을 그룹화하는 테스트 스위트를 제공합니다. 테스트 스위트는
describe
함수를 사용하여 정의되며, 테스트 케이스들을 논리적으로 구성하는데 도움을 줍니다. -
테스트 케이스 (Test Cases): 각 테스트 스위트 안에는 하나 이상의 테스트 케이스가 포함됩니다. 테스트 케이스는
it
함수를 사용하여 정의되며, 어떤 동작을 테스트할지 기술합니다. -
어설션 (Assertions): Mocha는 테스트 결과를 확인하는데 사용되는 다양한 어설션 함수를 제공합니다.
assert
모듈을 이용하여 동등성, 참/거짓, 예외 발생 등을 확인할 수 있습니다. -
비동기 테스트 (Asynchronous Testing): JavaScript에서 자주 사용되는 비동기 코드의 테스트를 지원하기 위해, Mocha는 콜백 기반 테스트와 Promise 기반 테스트를 모두 지원합니다.
done
콜백을 사용하거나,async/await
를 통해 비동기 작업을 처리할 수 있습니다. -
테스트 러너 (Test Runner): Mocha는 자체적으로 테스트 스크립트를 실행하는 테스트 러너 역할을 합니다. 테스트 스크립트를 실행하고 테스트 결과를 보고하는 등의 작업을 담당합니다.
-
강력한 보조 기능 (Powerful Utilities): Mocha는 테스트 스크립트에서 사용할 수 있는 다양한 보조 기능들을 제공합니다. 예를 들어,
before
와after
함수를 사용하여 테스트 스위트 전후에 필요한 작업을 수행할 수 있으며,beforeEach
와afterEach
함수를 사용하여 각 테스트 케이스 전후에 필요한 작업을 수행할 수 있습니다.
이 외에도 Mocha는 커스터마이징이 가능하고 확장성이 높은 특징을 가지고 있습니다. 다양한 플러그인과 어댑터를 사용하여 테스트 환경을 구성할 수 있습니다.
참고 자료: