caffeine-library / release-everything

'Release의 모든 것'을 읽는 스터디
3 stars 0 forks source link

[question] 테스트 진행 방법에 대해 얘기해보아요 #41

Closed kth990303 closed 7 months ago

kth990303 commented 7 months ago

질문

14장의 365p~367p 부분을 보면 API 테스트에 대해 다양한 방식이 나오고 있습니다. (생성형 테스트, 외부 유입 테스트, 장애 주입 테스트 등)

Q. 생성형 테스트는 new 객체로 테스트 코드를 작성하여 확인하는 classicist 한 테스트로 이해했는데 맞을까요?

그리고 외부 api 호출이 포함된 로직 테스트는 어떻게 하고 있는지도 얘기해보면 좋을 거 같아 Question으로 작성해보았습니다. 우선 저희는 실제로 호출하는 apiTest 만들어둔 후, @Disabled 하고 있고요. api 호출이 포함된 서비스나 컨트롤러 테스트는 mocking해두고 있어요. 책에서 얘기하는 장애주입 테스트의 경우 웬만해선 진행하진 않는거같아요. (장애주입 테스트 == 부하테스트로 이해했는데 맞을까요?)

연관 챕터

39


@caffeine-library/readers-release-everything

leejaeseung commented 7 months ago

제가 이해한 생성형 테스트는 Property-Based Test 의 Generator 를 사용하는 것처럼 랜덤한 테스트 값들을 생성해서 무작위로 API 를 테스하는 거였습니다. 저도 유닛 테스트 때만 써보긴 했는데, API 테스트시에도 랜덤 파라미터와 그에 대한 예상 값을 정해서 API 를 호출해 테스트할 수도 있을 것 같네요

실제 서버에 대한 외부 호출 테스트로만 짜여졌던 프로젝트가 있는데, 차근차근 mock 테스트로 변경해가고 있습니다ㅜㅜ (타 부서로 옮기신 분의 id 가 테스트코드에 박혀 있다는 ㄷㄷ) 로컬에서 테스트코드를 돌려보고 배포 시에는 테스트코드를 돌리지 않아서 조금 불안한 프로젝트이기도 합니다.. CI 를 위한 유닛 테스트 코드를 짜고, 외부 호출 테스트는 따로 수동으로 테스트하게끔 하는게 좋은 방법인 듯 하네요