• <항해99 12주차 WIL>

    2021. 5. 24.

    by. 교쟁이

    (1) WIL 개요

    테스트 코드에 집중하는 시기였습니다.

    백엔드 코드를 다 짜고 유닛 테스트와 통합 테스트에 집중하였고 

    도커 공부와 부하 테스트를 공부하려고 했습니다.

     

    (2) 일정

    • 5/17~5/23 파이널 프로젝트 

    (3) 얻은 지식

    파이널 프로젝트

     

    유닛 테스트 (unit test)

    포스트맨으로 일일이 테스트를 해보니 테스트 시간이 너무 많이 걸린다는 것을 느꼈습니다. 그래서 미루고 미뤄왔던 (이러면 안 되지만 ㅜㅜ) 테스트를 작성에 필요성을 느끼고 테스트 코드를 작성하였습니다. 저희의 코드는 크게 service와 controller로 구성되어있어 실질적 코드는 service가 담당하고 있었습니다. 그래서 service에서 유닛 테스트를 진행하였습니다. 테스트를 계속 작성해보려고 노력했지만 번번이 실패하고 2주를 걸쳐서 유닛 테스트를 이제는 수월하게 작성하게 되었습니다.  

     

    테스트 작성하면서 처음에서는 성공 시나리오만 작성하면서 테스트 성공에 기쁨을 느꼈지만 점점 테스트를 작성하면서

    오류 테스트도 진행해보고 좀 더 다양한 실패 시나리오도 작성해보았습니다. 그러면서 코드도 수정하고 정말 효용성 있었던 테스트였습니다.

     

    통합 테스트 (super test)

    통합 테스트는 controller를 위조로 테스트를 진행하였습니다. controller는 req에 실제 값을 넣어서 실행하는 것으로 실제 postman에서 실행되는 것처럼 진행하였습니다. 그래서 따로 testDB를 만들어서 그곳에서 테스트를 진행했었습니다. 

    실제 testDB에 들어가는 값도 확인하고 req에서 들어가는 값도 설정하면서 이것저것 테스트하면서 오류도 발견하였습니다. 대체적인 오류는 req에 들어오는 이상한 key와 value에 대한 오류처리를 못하는 점 유닛 테스트 같은 경우는 service 만 테스트해보니 실제 req에 정보를 임의의 작성한 값이 정확한 정보만 전달하다 보니 통합 테스트에서 오류를 검출하게 되었습니다. 

     

    통합 테스트에서 어려웠던 점은 env값을 불러오지 못했다는 점이었습니다. 그래서 다양한 시도를 해봤지만 결국 원하는 답은 얻지 못하고 결국 테스트 파일 안에 필요한. env 값을 넣어서 테스트를 진행하였습니다. 이상하게 다른 팀원들은 모두 env를 설정하지 안하도 자동으로 잘 되었지만 제 컴퓨터에서만 해결하지 못한 부분이라 의문이 듭니다. 하지만 계속 찾아볼 예정입니다.

    (4) 느낀 점

    도커를 공부하자 도커 너무 좋다 도커 마스터하자

    현재 도커 명령어를 이것저것 만지면서 도커의 효용성을 몸소 체험하고 있습니다. 앞으로 부하 테스트가 남았는데 

    부하 테스트도 성공하고 파이널 프로젝트를 잘 마무리했으면 좋겠다.

    '항해99' 카테고리의 다른 글

    항해 플러스 6주차  (0) 2023.07.16
    항해 플러스 2주차  (0) 2023.07.10
    <항해99 11주차 WIL>  (0) 2021.05.24
    <항해99 10주차 WIL>  (0) 2021.05.16
    <항해99 7주차 WIL>  (0) 2021.04.19

    댓글