inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[워밍업 클럽 스터디 2기 - BE] (클린코드, 테스트코드) 4주차 발자국

김민성
0

인프런 워밍업 클럽 스터디 2기 - 백엔드 클린코드, 테스트 코드(Java, Spring Boot)

Practical Testing: 실용적인 테스트 가이드

해당 강의를 학습하며 정리하는 내용입니다.

 

드디어 마지막 주차 발자국을 작성하는 시간이다.

 

이번주에는 Mock관련 내용과, 테스트를 작성하기 위한 팁, Spring REST Docs에 대해 배우는 주차였다.

 

Mock을 마주하는 자세

Test Doble

외부 API같이 내가 직접 테스트 하기 어려운 것들을 가짜로 대체해서 테스트 하는 테스트 방법론

Stub : 상태 검증 (State Verification)

Mock : 행위 검증 (Behavior Verification)

 

Classicist VS. Mockist라는 말을 처음 들어봤는데, 실제 객체로 통합 테스트를 해가면서 필요할 때만 Mocking해서 사용하자는 Classicist파와, 각각 따로따로 다 목킹해서 순수 코드만 빠르게 테스트 하자 라는 Mockist파의 싸움 같은 거다.

나도 이에 대해 생각을 해봤는데, 나는 Mockist에 좀 더 가까운 거 같다. Mockist가 좀 더 뭔가 작은 블럭을 쌓아가서 전체를 만드는 느낌이 든다.

하지만 분명히 Mockist여도 통합테스트 해야하고 Classicist여도 목킹을 통한 단위테스트는 해야한다.

 

@Mock, @MockBean, @Spy, @SpyBean, @InjectMocks

이거에 관하여 미션이 나갔다.

@Spy는 진짜 처음봐서 좋은 기능 배웠다고 생각한다.

day-18 미션

그리고 테스트 분류 미션에 관해서도 깜짝 라이브를 통해 우빈님의 의도를 들었었는데, setUp, given, when, then에 두어야 할 것에 대한 생각을 정리할 수 있게 된것 같다.


더 나은 테스트를 작성하기 위한 구체적 조언

여기서는 다양한 테스트 꿀팁들을 배웠다.

키워드

하나 같이 막힐때 큰 도움이 될 거같은 조언이다.


Appendix

학습 테스트

Spring REST Docs

REST Docs

Swagger

 

Spring REST Docs는 문서화를 도와주는 도구인데 설정이 좀 많이 어려운 듯 하다. 추가적인 공부가 많이 필요한 것 같다.

한번은 배워보고 싶은 도구였어서 좋은 계기였다.


전체 회고

드디어 4주의 학습 스터디가 끝났다. 개인적으로 퇴사를 앞두고 있는데, 이제서야 이런 좋은 학습 기회가 있다는 것을 알아서 좀 아깝지만 늦었다고 생각할 때가 가장 빠르니까 좋게 생각한다.

2년동안 개발을 하면서 테스트나 클린 코드를 생각안해본건 아닌데, 솔직히 현재 업무에서 살짝살짝 내가 혼자 학습해서 조금씩 적용해본 정도지, 진지하게 공부하고 사용해 본적은 없었다.

이번 강의가 클린코드, 테스트 코드 두 강의나 돼서 좀 듣기 빡세긴 한데, 진짜 도움이 많이 되는 것 같았다.

 

클린 코드는 내가 코드를 보는 생각이 좀 더 열린 계기가 된 것 같고, 테스트 코드는 평소에 배우고 싶다는 갈망이 많이 채워졌다.

앞으로 두 내용에 대해 좀 더 학습해 나아가면서 지금 배웠던 것들이 기초가 될 것이라고 생각한다.

 

다음에도 이런 좋은 주제가 있으면 언제든지 참가하고 싶다.


 

백엔드 워밍업클럽 테스트코드 클린코드 백엔드

답변 0