Jest 기초

heyhey·2022년 12월 20일
0

jest

목록 보기
2/5

FaceBook에 의해서 만들어진 테스팅 프레임 워크
최소한의 설정으로 Test Case를 만들어서 Unit test를 하기 위해 사용한다.

Test 파일명

  • {filename}.test.js
  • {filename}.spec.js
  • tests/{filename}.js (tests 폴더 안)

Jest 함수

test("two Plus two is four',()=>{
	expect(2+2).toBe(4);
})

test("two Plus two is not five',()=>{
	expect(2+2).not.toBe(5);
})

expect : 값을 테스트할 때 사용된다. matcher와 함께 사용된다.

matcher : 다른방법으로 값을 테스트 하도록 사용된다.


test('renders learn react link', () => {
  render(<App />);
  const linkElement = screen.getByText(/learn react/i);
  expect(linkElement).toBeInTheDocument();
});

render
DOM에 컴포넌트를 렌더링하는 함수
인자로 랜더링할 컴포넌트가 들어간다.

query 함수

페이지에서 요소를 찾기 위한 방법
차이점은 요소가 발견되지 않으면 쿼리에서 오류가 발생하는지 또는 Promise를 반환하고 다시 시도하는지 여부

  • get

    • 쿼리에 일치하는 노드를 반환, 일치하는 요소가 없거나 둘 이상이 있다면 오류를 발생한다. => getAllBy를 이용해 둘 이상의 요소를 찾을 수 있다.
  • query

    • 쿼리에 대해 일치하는 노드를 반환하고, 요소가 없으면 null을 반환한다. 둘 이상은 오류 => qeuryAllBy
  • find

    • 주어진 쿼리와 일치하는 요소가 발견되면 Promise를 반환
    • 요소가 발견되지 않거나 기본 제한 시간인 1000ms 후에 둘 이상의 요소가 발견되면 거부 -> findAllBy

waitFor
일정 시간 동안 기다려야할 때, 기대가 통과할 때까지 기다릴 수 있다.
getBy + waitFor = findBy

profile
주경야독

0개의 댓글