테스트는 Vitest로 진행해보도록 하겠습니다.
npm install -D vitest
파일은 .test.js
혹은 .spec.js
로 끝나야합니다.
예) parser.test.js
import { test } from "vitest";
혹은 import { it } from "vitest";
만약 import 하지 않고 모든 프로젝트에서 사용하고 싶다면 scripts의 test에다가 --globals 를 붙여주세요.
"scripts": {
"test": "vitest --run --reporter verbose --globals",
"test:watch": "vitest",
"start": "http-server -c-1"
},
(it
이나 test
함수를 import 해서 사용하게 되면 자동완성 기능을 사용할 수 있어서 편리합니다.)
배열을 받아서 모두 더하는 add 라는 함수 입니다.
export function add(numbers) {
let sum = 0;
for (const number of numbers) {
sum += number;
}
return sum;
}
it()
함수를 사용해보겠습니다. 첫번째 인자로는 테스트하는 함수의 설명이 오면됩니다. 두번째 인자로는 테스트가 실행되는 익명함수입니다.
expect()
함수는 인자값이 어떠한 결과가 예상되어야 한다는 함수 입니다.
이 함수에 다른 메소드를 체이닝 할 수 있습니다.
예를 들어 toBe()
메소드는 값을 비교할 수 있습니다. (객체일 경우에는 조금 다릅니다만 나중에 다루도록 하겠습니다.)
import { it, expect } from "vitest";
import { add } from "./math.js";
it("배열 안의 숫자를 모두 더함", () => {
const result = add([1, 2, 3, 4, 5]);
expect(result).toBe(15);
});
npm test
: 테스트 실행 명령어
테스트 성공 결과 화면 :
테스트 실패 결과 화면 :