본문 바로가기
Aplication test

리액트 테스트코드 - intro

by ddddbbbb 2023. 10. 25.

프로젝트를 몇개 진행 했었는데 테스트 코드를 작성하여 내 코드를 검증한 적은 없는 것 같습니다.

이를 위해 테스트코드에 대해 공부해보려합니다 

 

우선 무작정 테스트를 적용하려고 보니 

어떤 것을 어떻게 테스트 해야하는 지 어려웠고 

현재 짜여있는 코드기반으로 테스트 코드 짜는게 새로 다 리팩토링하는 느낌이 들었습니다 

이에 Todo List 를 하나 만들어서 테스트 코드를 만들어 보고 

그다음에는 TDD방식으로 만들어볼 예정입니다 

 

우선 테스트 코드를 만드는 게 왜 어렵나 생각해보니 

각 코드의 상황을 명확하게 생각하지않고 코드를 짰기 때문인 것 같았습니다.

예를 들어 동작하지않는 상황을 고려하고 코드를 짠게 아니라 동작만되는 코드를 짜왔던 것 같습니다.

이에 투두리스트를 기존 방식대로 빠르게 만든 후 이를 리팩토링하며 변경해보며 이전에 제가 몰랐던 부분을 학습할 예정입니다 

 

제작된 투두리스트의 형태를 먼저 보겠습니다.

 

node express로 간단한 서버를 제작했습니다 

API 명세는 아래와 같습니다 

API URI res req 비고
진행 중 GET /todos/running [{
  id:string,
  detail:string,
  startDate:string,
  endDate:string,
  title:string,
  state:boolean
},
{}
]
   
완료 GET /todos/done [{
  id:string,
  detail:string,
  startDate:string,
  endDate:string,
  title:string,
  state:boolean
},
{}
]
   
todo 세부 GET /list/detail/?id=${}&state=${} 성공시 : status(200), {
  id:string,
  detail:string,
  startDate:string,
  endDate:string,
  title:string,
  state:boolean
}


실패시: status(404),{errror: "찾으시는 데이터가 없습니다"}
querystring:{
id:string,
state:boolean
}
이것만 쿼리스트링으로 만들어서 다시 body에 담아서 보내는걸로 변경하겠습니다
Todo추가  POST /todos 성공시 : status(200),{
message: 등록 완료
}


실패시: status(404),{errror: "등록 실패"}
body:{
  id:string,
  detail:string,
  startDate:string,
  endDate:string,
  title:string,
  state:boolean
}
 
Todo 삭제 POST  /todos/del 성공시 : status(200),{
message: 삭제완료
}


실패시: status(404),{errror: "찾으시는데이터가 완료/삭제에 없습니다"}
body:{
id:string,
state:boolean
}
 
Todo 변경 POST  /todos/change 성공시 : status(200),{
message: 변경완료
}


실패시: status(404),{errror: "찾으시는데이터가 완료/삭제에 없습니다"}
body:[
Todo:{
  id:string,
  detail:string,
  startDate:string,
  endDate:string,
  title:string,
  state:boolean
},
newState:boolean
]
 

 

다음 글 부터 컴포넌트 별 테스트 코드를 작성해보겠습니다

'Aplication test' 카테고리의 다른 글

테스트 코드의 의의  (0) 2024.01.26
리액트 테스트코드 - add  (0) 2023.10.31
리액트 테스트코드 - list , header  (0) 2023.10.30
리액트 테스트 코드 - 2  (0) 2023.10.30
리액트 테스트코드 - 1  (0) 2023.10.28