๐Ÿ–ฅFrontEnd

jest, beforeAll, afterAll

hellohailie 2023. 5. 1. 17:50
const fn = {
  add: (num1, num2) => num1 + num2,
  connectUserDB: () => {
    return new Promise((res) => {
      setTimeout(() => {
        res({
          name: "Hailie",
          age: 30,
          gender: "female",
        });
      }, 500);
    });
  },
  disconnectDB: () => {
    return new Promise((res) => {
      setTimeout(() => {
        res();
      }, 500);
    });
  },
};

module.exports = fn;

 

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

let user;

beforeEach(async () => {
  user = await fn.connectUserDB();
  console.log(user);
});

afterEach(() => {
  return fn.disconnectDB();
});

test("์ด๋ฆ„์€ Hailie", () => {
  expect(user.name).toBe("Hailie");
});
test("๋‚˜์ด๋Š” 30", () => {
  expect(user.age).toBe(30);
});
test("์„ฑ์€ female", () => {
  expect(user.gender).toBe("female");
});

npm run test๋กœ test๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ฐ ํ…Œ์ŠคํŠธ๋งˆ๋‹ค ์•ฝ 1์ดˆ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. 

์™œ๋ƒ๋ฉด ๊ฐ๊ฐ์˜ ํ…Œ์ŠคํŠธ ์ „ ํ›„์— 0.5์ดˆ์”ฉ ์ž‘์—…์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

 

ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” DB์—์„œ ํ•œ๋ฒˆ์— ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ ์ „, ํ›„๋งˆ๋‹ค ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด ํ•„์š”๊ฐ€ ์—†๋‹ค. 

 

 

์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด beforeEach, afterEach๊ฐ€ ์•„๋‹Œ beforeAll, afterAll ์ด๋‹ค.

 

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

let user;

beforeAll(async () => {
  user = await fn.connectUserDB();
  console.log(user);
});

afterAll(() => {
  return fn.disconnectDB();
});

test("์ด๋ฆ„์€ Hailie", () => {
  expect(user.name).toBe("Hailie");
});
test("๋‚˜์ด๋Š” 30", () => {
  expect(user.age).toBe(30);
});
test("์„ฑ์€ female", () => {
  expect(user.gender).toBe("female");
});

'๐Ÿ–ฅFrontEnd' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

jest ๊ธฐ๋ณธ ๊ณต๋ถ€  (0) 2023.04.28