본문 바로가기
개발/개발지식

JEST를 사용한 코딩 테스트 공부 시작

by 그레이웅 2022. 10. 12. 23:49
반응형

JEST를 사용한 코딩 테스트 공부 시작

코딩테스트를 예전에 프로그래머스에서 꾸준히 풀다가 잠시 쉬게되었다.

코딩테스트 연습은 좋은 회사로 가기위해선 거의 필수 불가결한 존재이다.

그래서 나도 코딩테스트를 꾸준히 하루에 하나씩은 풀기로 하였다.

프로그래머스 콘솔창을 이용하는 것도 좋지만, 나는 JEST를 사용하여 JEST의 사용법을 익혀가며 코딩테스트 공부를 포스팅할 생각이다.

 

JEST란 무엇일까?

https://jestjs.io/

 

Jest

By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take.

jestjs.io

 

공식 문서 메인화면에서 볼 수 있듯

JEST는 단순성에 중심을 둔, 자바스크립트 테스팅 프레임워크 이다.

 

Babel, typescript, Node, React, Angular, Vue 등을 사용하는 프로젝트에서 작동한다.

 

쉽게 말하면 코드의 작동이 잘 되는지 테스트 하기 위한 프레임워크이다.

 

 


JEST 기초 사용방법

 

1. 자신이 원하는 디렉토리나 원하는 프로젝트에 다음과 같은 명령어로 설치하면된다.

 

//npm

npm install --save-dev jest

//yarn

yarn add --dev jest

 

나는 코딩테스트 함수의 동작만을 테스트 할것이기 때문에 빈 디렉토리(cordingTest-jest)라는 디렉토리를 생성하였다.

mkdir은 폴더를 생성하는 명령어이다.
cd 는 디렉토리 이동에 해당하는 명령어이다.

 

그 후 vscode나 자신이 원하는 코드 에디터를 사용하여 해당 디렉토리로 들어간다.

위의 명령어를 사용해 jest를 설치한다.

--save-dev의 의미

--save 옵션이 없는 경우는 node_modules에만 설치하게된다.

반면 --save 옵션을 붙이면 package.json 의 dependecies에 추가되게 된다.

npm 공식문서에는 다음과 같이 나와있다.
--save-dev: Package will appear in your devDependencies.

 


 

2. 설치가 완료되면 프로젝트에 node_modules가 나타나게 된다. 

sum.js란 파일을 만들고 다음과 같은 내용을 넣어준다.

 

//sum.js
function sum(a, b) {
    return a + b;
  }
module.exports = sum;

 

3. sum.js 와 같은 위치에 sum.test.js 파일을 만들고, 다음과 같이 작성해준다.

 

//sum.test.js

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

간단히 설명하자면 sum함수의 파라미터로 1,2 의 값을 넣어주고 결과로 예상되는 값을 3으로 설정 한 것이다.

 

 

4. package.json을 루트 위치에 추가해주고, 다음과 같은 내용을 작성한다.

 

//package.json

{
  "scripts": {
    "test": "jest"
  }
}

package.json"script" 태그에 추가하는 내용은 npm test 와 같이 명령어를 실행할때 어떤 내용을 실행하게 할지 결정하여 준다. 지금은 npm test 라는 명령어를 사용하면 jest 가 실행되게 설정한 것이다.

 

5. npm test 명령어로 실행한다.

현재 TEST CASE인 sum.js 파일의 내용이 정상적으로 통과되면 다음과 같은 passed 화면이 보여진다.

반응형

댓글