javascript/테스팅(6)
-
jest React에서 테스팅 해보기(snapShot, text 찾기)
jest React에서 테스팅 해보기(snapShot, text 찾기) jest를 react에서 사용해서 테스팅을 진행해보겠습니다. 우선 진행하기 전 Cra를 만들어서 진행하도록 하겠습니다. 1. text 찾기 특정 컴퍼넌트를 만들어 테스팅을 해보겠습니다. export default ({jestElement:{name, age}}) =>{ return ( {name? `jest를 테스트하러 오셨나요? ${age}세 ${name}씨` : "jest Test를 하려면 로그인을 하싶쇼"} ); } 파라미터로 특정 객체를 받아서 age와 name을 표시해주고 만약에 해당 객체가 없다면 jest Test 로그인 하라는 후자의 텍스트를 볼 수 있습니다. import JestTestElement from "./jes..
2021.03.21 -
jest mock 함수
jest mock 함수 영어 단어의 의미로 mock을 알아보면 가짜이다. 엥 가짜함수? 이게 뭘까... 여기서 가짜 함수란 테스트하기 위해 모의로 만든 함수라고 생각하면 된다. 실제 구현된 코드를 모의 코드로 변경하여 편리하게 테스팅을 할 수 있다. mock 함수만들어보기 const mockFn = jest.fn(); jest.fn();를 이용하여 mock 함수를 만들 수 있다. mock함수 안에는 입력값을 넣어줄 수 있는데 이 값은 mockFn의 mock이라는 인스턴스에서 확인할 수 있다. mockFn(); mockFn('하위'); test('mock Function', () => { console.log(mockFn.mock.calls); expect("mock").toBe("mock"); }); m..
2021.03.20 -
jest before, after (each, all), only, skip
이번에는 테스트를 진행하기 전후에 특정 함수를 실행시킬 수 있는 jest 제공 함수를 사용해봅시다. 우선 각함수가 어떤 것을 의미하는지 알아봅시다. beforeEach 여러 개의 테스트가 시작하기 전 각각의 실행되는 함수입니다. 우선 예제를 봅시다. 각 테스트를 실행하기 전에 number의 값을 바꾸어 주어서 이전에 beforeEach가 실행되고 있는 점을 확인할 수 있다. js const fn = require("./hi"); let number = 1; beforeEach(()=>{ console.log(`각 테스트가 시작하기 전에 실행되는 함수입니다.${number}`); }); test('3곱하기 3은 9', () => { expect(fn.add(3, 3)).toBe(9); number = 2;..
2021.03.19 -
jest 비동기 테스팅
jest 비동기 테스팅 js는 싱글 스레드로 돌아가는 언어로 다양한 주로 비동기 작업들과 함께 사용한다. Callback callback 함수를 만들어주어서 등록시켜주며 실행해주면 된다. 하지만 주의해야할 점이 있다. jest의 경우 코드 제일 밑단을 만나버리면 함수가 바로 종료되어 버린다. js 코드 const hi = { add : (num1, num2) => num1 * num2, fourSecondAge: callback =>{ setTimeout(()=>{ callback(25); }, 4000); } } module.exports = hi; test 코드 const fn = require("./hi"); test('4초 후에 나이 25', () => { const callback = (age)..
2021.03.18 -
jest 여러가지 to~~(toBe, toEqual, toStrictEqual...) 사용해보기
ToBe와 ToEqual 사용해보기 테스트하려는 코드 const hi = { add : (num1, num2) => num1 * num2, makePerson: (name, age) =>({name, age}) } module.exports = hi; 두개의 객체는 서로 일치하니 당연히 true가 되어야 할것 같은데 toBe의 경우에는 테스트를 통과하지 못하고 있다. const fn = require("./hi"); test('사람 만들기 ToEqual', () => { expect(fn.makePerson("sanghoony", 12)).toEqual({ name:"sanghoony", age:12}); }); test('사람만들기 ToBe ', () => { expect(fn.makePerson("s..
2021.03.17 -
jest로 테스팅 시작해보기 및 테스팅 알아보기
우선 jest를 알아보기전 테스팅을 알아보자! 테스팅은 일반적으로 코드를 개발하기 전이나 하면서 해당 코드가 어떻게 돌아갈지 확인하기 사용한다. 테스트 코드를 작성하면 자신의 코드가 어떤 상황에서 잘 진행될까 미리확인 될 수 있어서 미래에는 효율적으로 오류를 줄이며 코딩을 할 수 있어서 많은 사람들이 사용을 하고 있다. 하지만 개인적인 생각으로는 너무 또 과도하게 하게되면 빠른 변화가 있는 스타트업 같은 경우 따라가기 힘들다고 생각이들었다. 그래서 오늘도 드는 생각 적당히 사용하자다.... 일단 jest의 경우에는 facebook에서 만든 테스트 라이브러리로 일반적인 회사 구인글에도 많이 보인다. jest로는 unit, intergration test 둘다 사용할 수 있다. 이글을 시작으로 천천히 jes..
2021.03.17