웅서트 스터디 세 번째 주제 - Jest & Playwright
Jest와 Playwright에 대해 간략하게 알아보자!
말 그대로 기본적인 유닛 테스트를 포함한 여러가지 테스트를 처리해주는 라이브러리이다.
그중에서도 오늘은 Jest와 Playwright에 대해 알아볼 것이다.
Jest는 테스팅 라이브러리 중에서도 꽤나 많이 사용되는 테스팅 라이브러리이다.
React를 만든 페이스북 개발팀이 만들었다.
이는
React 친화적이라는 뜻이 아닐까
npm install --save-dev jest
yarn
yarn add --dev jest
{
"scripts": {
"test": "jest"
}
}
test 속성을 jest
로 수정해준다.
~.test.js
또는 ~.spec.js
로 파일을 생성해준다.
// math.js
const add = (a, b) => {
return a + b;
}
module.exports = add;
// math.test.js
const add = require('./math');
test('덧셈 테스트', () => {
const result = add(2, 3);
expect(result).toBe(5);
});
test('음수 덧셈 테스트', () => {
const result = add(-2, -3);
expect(result).toBe(-5);
});
npm test
yarn
yarn test
위 명령어들을 통해 테스트를 실행하면 작성된 테스트를 모두 실행하여 검사한다.
위 예시 코드에서 사용된 toBe()
와 같은 함수를 Matcher라고 한다.
우리가 사용할 거의 모든 경우에 대한 Matcher함수가 준비되어 있으나 이번에는 많이 사용하는 것들만 알아보자.
마이크로소프트에서 개발하는 브라우저테스트 및 안정적인 자동화를 목적으로 하는 자동화 라이브러리이다.
e2e 테스트에 사용된다.
End 2(to) End, 프로그램과 사용자가 인터페이스에서의 상호작용을 처음부터 끝까지 확인하는 것
브라우저 호환성 : 다양한 브라우저를 지원한다.
다양한 언어 지원 : Js, Ts, Python, Java 등 다양한 언어를 지원한다.(당장 구글에 Playwright만 검색해도 다양한 언어의 레퍼런스들이 있는 것을 확이할 수 있다.)
속도 : 테스트 파일이 여러개일 경우 각각의 파일에서 병렬적으로 처리해 속도가 빠르다.
문법 : Js 문법을 그대로 사요할 수 있다.
npm init playwright@latest
yarn
yarn create playwright
npx playwright test
위 명령어를 통해 모든 테스트가 실행된다.
npx playwright test file-name
npx playwright show-report
위 명령어를 통해 테스트 결과를 확인할 수 있다.
설명한 두가지 테스팅 라이브러리들만 잘 알고 있어도 앞으로 하나하나 직접 확인해야하는 일은 없을 것이다.
Playwright의 경우에는 e2e 테스트에 있어 먼저 나온 Cypress가 존재하지만, 그럼에도 뛰어난 성능으로 높은 사용률을 보인다.
노력하자..
아는만큼 편해진다..