Jest?
Javascript에서 Test code 작성을 위해 사용하는 Framework이다.
다음의 특징을 가진다.
- Zero config : Config free, on most JavaScript projects
- Snapshots :Make tests which keep track of large objects with ease
- Isolated : Tests are parallelized by running them in their own processes
Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
Installation
Configuration
여러 방법이 있지만, 가장 간단한 package.json에 세팅하는 부분으로 설명한다.
package.json 내부의 최 상단 레벨에 위치해야 한다.
1
2
3
4
5
6
7
// package.json
{
"name": "my-project",
"jest": {
"verbose": true
}
}
링크 : Configuring Jest
Test code 작성
Directory
Project 내 최상단에 __test__
로 명명 후 파일을 생성한다.
파일의 명명은 *.test.js 와 같이 test
를 포함시켜 작성한다.
1
2
3
4
project
|- __test__
|- myTestCode.test.js
...
Code example
단순한 String 결과 비교에 대해서 작성한 Test code이다.
1
2
3
4
5
6
7
8
// src/func/test.js
module.exports.setString = value => {
if(value === "hello")
return "world";
else
return "hi";
};
1
2
3
4
5
6
7
// __test__/myTestCode.test.js
const myFunction = require('../src/func/test');
test('My first test code', () => {
expect(myFunction.setString("hello")).toBe("world");
});
이 외에도 Object 간 비교, try-catch 구문의 exception handling 등
자세한 사항은 Document를 참고한다.