Spring Boot/테스트
-
[사내 TestContainer 적용] Spring boot 통합테스트 도입기Spring Boot/테스트 2023. 1. 6. 00:38
개발자가 되고 가장 고된 작업으로 기억에 남을 통합테스트 작성 과정을 기록에 남긴다. 작년 3월 입사하고 백엔드 시니어님의 갑작스러운 퇴사로, 익숙하지 않은 지식들을 내것으로 만들기 위해 또는 살아남기 위해 씨름하던 중, 작년 하반기 무렵 드디어 회사에 새로운 시니어님이 입사하셨다. 직장 상사 보다는 동료로, 그리고 굉장히 능력있는 분이 오셔서 내게는 작년중 가장 큰 행운이었다고 할 수 있다. 그리고 작년 9월부터 새로온 분과 기존 Mybatis와 Postgres로 되어있던 프로젝트를 다른 기술 spec으로 처음부터 다시 구축하기로 결정했다. (처음에는 Logging 작업을 진행한 후에, 점진적으로 프로젝트를 개선하려고 했지만, 일주일 정도를 작업해보시고는 처음부터 다시 만드는 쪽이 속도가 더 나올 것 ..
-
[TEST 시리즈 1]단위테스트란? Unit 테스트 정의Spring Boot/테스트 2022. 11. 18. 02:07
회사에서 단위테스트를 추가하는 업무를 맡았다. 그 동안 내가 알고 있던 Unit Test와 시니어님이 요청하신 Unit Test의 정의가 달라서 일주일이 날아갔다. 이것은 고통과 함께한 단위테스트 기록이다. 단위테스트의 정의 마틴 파울러씨는 다음과 같이 말했다. (출처 : https://martinfowler.com/bliki/UnitTest.html) Unit testing is often talked about in software development, and is a term that I've been familiar with during my whole time writing programs. Like most software development terminology, however, it's..
-
JUnit이란?Spring Boot/테스트 2022. 1. 5. 20:52
프로젝트를 하면서 아쉬운 점로 2가지가 있겠다. 하나는 데이터베이스, 둘은 테스트이다. 테스트 코드에 대한 학습이 없어서, 테스트 코드의 존재도 모르고 개발했는데 발표회에 테스트 코드를 척척 완성한 다른 팀들을 보니 너무 부러웠다. 나도 해볼꺼야.. JUnit이란? Java 언어의 단위 테스트 프레임워크이다. 기능 단위, 메서드 단위 별로 테스트를 도와주는 도구다. Hamcrest라는 JMock이라는 Matcher 라이브러리(값을 비교 할때 더 편리하게 도와주는 도구)를 같이 사용한다. 기본적으로 아래 3가지 기능을 지원한다. - 테스트의 결과가 예상과 같은지 판별하는 assert 단정문 - 여러 테스트에서 공동 사용하는 테스트 픽스처 - 테스트 작업을 수행하는 테스트 러너 코드를 써보자. 테스트를 위해..