Testing10 Jest: Mock Function에 대해서 Mock function, 한국말로 하면 '모의 함수'라고 한다. 이 모의 함수의 경우 테스트하고자 하는 코드가 사용해야 하는 function이나 class가 있을 경우, 이에 대한 가상의 함수를 만들어 테스트를 하는 것을 말한다. 테스트 작성을 위한 환경 구축이 어렵거나, 테스트 시간이 오래 걸리는 등의 경우에 사용한다. Mock function의 경우 불확실한 정보를 가지고 테스트를 시행하는 것이기 때문에, 실제 구현에 대한 테스트가 필요하다면 가능한 한 Mocking을 피하고 실제 코드를 테스트하는 것이 좋다. Mock function 사용하기 1. Mock 함수 생성가상의 함수를 생성하여 인자를 넘겨받아 호출할 수 있다. jest.fn();test("3을 입력할 경우 값은 5가 나온다.", ().. 2024. 9. 11. Jest : 테스트 전 후 작업 설정하기 테스트가 수행되기 전에 반복적으로 발생할 필요가 있는 설정과, 수행된 이후에 반복적으로 발생할 필요가 있는 작업(예를 들어 테스트의 전후값 초기화, DB의 disconnect 동작 수행 등)이 있다. 이런 작업들을 반복 처리 가능하도록 jest에서는 해당 기능을 제공하고 있다. 만약 테스트 전 후로 테스트의 전후값 초기화 등이 발생하지 않는다면, 아래 예제처럼 변수 num이 1로 일관성 있게 유지되지 않기 때문에 원하는 테스트 결과를 얻을 수가 없다.const sum = require("../sum");describe("sum 테스트", () => { let num = 1; test("1더하기 2는 3이다.", () => { // num은 3이 됨 num = sum(num, 2); exp.. 2024. 9. 11. Jest: 비동기 코드 테스트하기 비동기 코드를 테스트를 할 경우 로직이 완료되기 전에 테스트가 시행되기 때문에 정확한 테스트 결과값을 얻을 수 없다. 이에 Jest에서도 비동기 코드를 테스트 할 수 있는 몇 가지 방법을 제공한다. 콜백함수 방식Jest에서 done이라는 argument를 사용하게 되면 콜백 함수가 완료될 때까지 기다린 후에 테스트를 진행한다.// fn.js// 3초 뒤에 콜백함수를 호출하는 로직const fn = { getName: callback => { const name = "codingji"; setTimeout(() => { callback(name); }, 3000); }}module.exports = fn;//fn.test.jscons.. 2024. 9. 11. Jest 사용하기 Jest · 🃏 Delightful JavaScript Testing (jestjs.io) JestBy ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take.jestjs.io Jest는 JavaScript 테스트 프레임워크로, 내가 작성한 코드가 작동을 제대로 하는지를 검증하는 방법이다. Babel, TypeScript, Node, React, Angular, Vue 등에서 다양하게 사용할 수.. 2024. 9. 10. 이전 1 2 다음