typeOrm, jest

깡통·2024년 2월 22일
  • 일단 생각보다 prisma와 문법이 비슷함

  • typeorm을 적용하면 prisma는 필요 없어서 네모 부분 삭제함

rejects는 Jest에서 비동기 함수가 Promise를 반환하고 해당 Promise가 거부되는지를 테스트하기 위해 사용되는 함수입니다. 일반적으로 Promise가 거부되는 경우를 테스트하기 위해 사용됩니다.

예를 들어, 비동기 함수가 예외를 throw하거나 Promise가 거부되는 상황을 테스트하려고 할 때 rejects를 사용할 수 있습니다.

javascript
Copy code
test('비동기 함수가 거부되는지 테스트', async () => {
  await expect(asyncFunction()).rejects.toThrow(Error); // asyncFunction이 Promise를 거부하는지를 테스트
});

위의 예제에서 asyncFunction()이 Promise를 거부하면 테스트가 통과합니다. 만약 asyncFunction()이 성공적으로 Promise를 이행하는 경우에는 테스트가 실패합니다.

rejects를 사용하면 Promise가 거부되는지 여부와 관련된 예외를 확인할 수 있습니다. Jest에서는 이러한 기능을 사용하여 비동기 코드의 예외 상황을 쉽게 테스트할 수 있습니다.

jest는 보니까, 내가 원하는 시나리오를 구축한 다음에 실제 함수를 jest 테스트 환경으로 가져와서 내가 원하는 시나리오대로 테스트환경 속 코드들과 상호작용 하는지 보는 거인 듯.
강의 보니까 테스트 구축 동안 기존 함수를 전혀 안건드리네.
내가 어제 힘들었던건 아마 이게 함수도 직접 건드려야 되는 건 줄 알았나봄

jest 용어

.reject. : promise가 제대로 거부되는지 확인
.not. :

test('두 값이 다른지 테스트', () => {
  expect(1).not.toBe(2); // 1이 2와 다르지 않은지를 테스트
});

만약 반환 값이 없는 함수를 테스트 한다면,
1.
function.mockResolvedValueOnce(undefined)
2.
expect(function).not.tobeDefined()
  • 강의(꼭 다시 돌려봐야 하는 부분)
    36분 대
    46분 대
    55분 대(response 체이닝)
  • jest 명령어들 잘봐야 할듯
ex) 
userRepository.createResume.mockResolvedValueOnce(undefined)
해당 테스트에서,
userRepository의 createResume가 처음 호출될 때 한번 만 반환값을 (undefined)로 한다. - 그 후에는 이 코드는 다시 호출해도 반응 안함 - 
  1. mockResolvedValueOnce(비동기)
  2. mockReturnValueOnce(동기)
  3. expect().toMatchObject({일치해야 하는 객체 값 })
profile
코딩하러 온 사람입니다.

0개의 댓글