[javascript] Jasmine을 사용하여 자바스크립트 앱의 실패 처리를 테스트하는 방법

Jasmine은 자바스크립트 앱의 테스트를 작성하기 위해 사용되는 강력한 테스팅 프레임워크입니다. 이 테스트 프레임워크를 사용하면 애플리케이션의 성공적인 테스트뿐만 아니라 실패 시의 동작도 테스트할 수 있습니다. 이번 체크포인트에서는 Jasmine을 사용하여 자바스크립트 앱의 실패 처리를 테스트하는 방법에 대해 알아보겠습니다.

Jasmine 설치 및 설정

먼저, Jasmine을 사용하기 위해 프로젝트에 Jasmine을 설치해야 합니다. 다음과 같이 명령어를 사용하여 Jasmine을 설치합니다:

npm install --save-dev jasmine

Jasmine이 설치되었다면, spec 디렉토리에 테스트 파일을 생성해야 합니다. 일반적으로 spec 디렉토리는 프로젝트의 루트 디렉토리 내에 생성됩니다.

실패 처리 테스트 작성

다음으로, 실패 처리 테스트를 작성해보겠습니다. 예를 들어, 다음과 같이 어떤 함수가 인자로 전달받은 숫자를 제곱하는 기능을 제공하는지를 테스트하고자 한다고 가정해봅시다:

// app.js

function square(num) {
  return num ** 2;
}

테스트를 작성하기 위해 spec 디렉토리에 새로운 파일을 생성하고, 다음과 같은 코드를 입력합니다:

// spec/app.spec.js

describe('square', function() {
  it('should square the given number', function() {
    expect(square(4)).toEqual(16);
  });
  
  it('should fail when given a non-numeric argument', function() {
    expect(square('hello')).toThrow();
  });
});

위의 코드는 square 함수가 숫자를 제대로 제곱하는지를 테스트하고 있습니다. 첫 번째 테스트는 성공적으로 통과해야 하므로 toEqual matcher를 사용하여 기대값과 비교합니다. 두 번째 테스트는 throw matcher를 사용하여 함수가 올바르게 실패 처리되는지 확인합니다.

테스트 실행 및 결과 확인

모든 테스트를 작성했다면, Jasmine을 사용하여 테스트를 실행하고 결과를 확인할 수 있습니다. 아래의 명령어를 통해 Jasmine을 실행합니다:

npx jasmine

위의 명령어를 실행하면 테스트를 실행하고 결과를 나타내어 줍니다. 실패하는 테스트의 경우, 에러 메시지가 표시되며 테스트가 실패한 이유를 알 수 있습니다.

결론

Jasmine은 자바스크립트 앱의 테스트를 작성하고 실행하는 데 유용한 도구입니다. 실패 처리 테스트를 통해 애플리케이션이 예상된 방식으로 실패할 때의 동작을 검증할 수 있습니다. Jasmine을 사용하여 테스트를 작성하고 실행하여 자바스크립트 앱의 실패 처리 동작을 신뢰할 수 있게 만들 수 있습니다.