Jest

심재원·2023년 11월 30일
1

단위테스트 통합테스트 인수테스트

https://tecoble.techcourse.co.kr/post/2021-05-25-unit-test-vs-integration-test-vs-acceptance-test/

jest offical homepage

https://jestjs.io/

Jest in JavaScript

Terminal

npm i jest

a.js file add

function sum(a, b) {
  return a + b;
}

module.exports = sum;
//export default sum;

a.test.js

const a = require("./a");

test("두 수를 더합니다.", () => {
  expect(a(1, 2)).toBe(3);
});

Terminal로 위 코드 잘 되는지 확인

npx jest a.test.js

package.json

{
  "dependencies": {
    "jest": "^29.7.0"
  },
  "scripts": {
    "test": "jest"
  }
}

Terminal

npm run test

a.js add code

function sum(a, b) {
  return a + b;
}

function sumOf(numbers) {
    let result = 0;

    numbers.forEach((v) => (result += v));
    
    return result;
}

exports.sum = sum;
exports.sumOf = sumOf;
// export const sumOf = () => {}

// module.exports = sum;
//export default sum;

a.test.js add code

const { sum, sumOf } = require("./a");
// import { useState } from 'react';

describe("덧셈 함수들", () => {
  it("두 수의 합 구하기", () => {
    expect(sum(2, 4)).toBe(3);
  });

  it("배열의 모든 숫자 더하기", () => {
    const numbers = [1, 2, 3, 4, 5];

    expect(sumOf(numbers)).toBe(15);
  });
});

a.js code change

function sum(a, b) {
  return a + b;
}

function sumOf(numbers) {
  return numbers.reduce((acc, current) => acc + current, 0);
}

exports.sum = sum;
exports.sumOf = sumOf;
// export const sumOf = () => {}

// module.exports = sum;
//export default sum;

0개의 댓글